<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Cci.AstsProjectedAsCodeModel</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Cci.Ast.SourceContractProvider">
            <summary>
            An object that associates contracts, such as preconditions and postconditions, with methods, types and loops. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceContractProvider.#ctor(Microsoft.Cci.Contracts.IContractMethods,Microsoft.Cci.IUnit)">
            <summary>
            Allocates an object that associates contracts, such as preconditions and postconditions, with methods, types and loops. 
            </summary>
            <param name="contractMethods">A collection of methods that can be called in a way that provides tools with information about contracts.</param>
            <param name="unit">The unit for which this is a contract provider.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceContractProvider.AssociateTriggersWithQuantifier(System.Object,System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression}})">
            <summary>
            Associates the given object with the given list of triggers.
            If the object is already associated with a list of triggers, that association will be lost as a result of this call.
            </summary>
            <param name="triggers">One or more groups of expressions that trigger the instantiation of a quantifier by the theorem prover.</param>
            <param name="quantifier">An object to associate with the triggers. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceContractProvider.GetTriggersFor(System.Object)">
            <summary>
            Returns the triggers, if any, that have been associated with the given object. Returns null if no association exits.
            </summary>
            <param name="quantifier">An object that might have been associated with triggers. This can be any kind of object.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.Contract">
            <summary>
            A collection of collections of objects that describe a contract for an code entity such as a loop, method or type.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IErrorCheckable">
            <summary>
            An object that can be checked for errors.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IErrorCheckable.HasErrors">
            <summary>
            Checks the object for errors and returns true if any have been found.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Contract.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Checks for errors and return true if any are found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Contract.HasErrors">
            <summary>
            Checks the precondition for errors and returns true if any were found.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Ariant">
            <summary>
            A condition that must be maintained or changed during the execution of a program.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CheckableSourceItem">
            <summary>
            An object that has been derived from a portion of a source document and can be checked for semantic errors.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SourceItem">
            <summary>
            An object that has been derived from a portion of a source document.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ISourceItem">
            <summary>
            An object that has been derived from a portion of a source document.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ISourceItem.SourceLocation">
            <summary>
            The location in the source document that has been parsed to construct this item. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceItem.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an object that has been derived from a portion of a source document.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceItem.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IStatement. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceItem.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived subtype of this base type.
            The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.SourceItem.sourceLocation">
            <summary>
            The location in the source document that has been parsed to construct this item.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceItem.Locations">
            <summary>
            A collection with exactly one element, namely this.SourceLocation.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceItem.SourceLocation">
            <summary>
            The location in the source document that has been parsed to construct this item. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckableSourceItem.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an object that has been derived from a portion of a source document and can be checked for semantic errors.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.CheckableSourceItem.hasErrors">
            <summary>
            Non null and true if this item has errors. Visible to derived classes so that it can be set during construction.
            When non null, the item has been checked and need not be checked again.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckableSourceItem.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the item or a constituent part of the item.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckableSourceItem.HasErrors">
            <summary>
            Checks the source item for errors and returns true if any were found.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Ariant.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Ariant)">
            <summary>
            Make a copy of template, changing the containing block
            </summary>
            <param name="containingBlock"> the new containing block</param>
            <param name="template">the Ariant to be copied</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Ariant.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Construct an ariant with the given condition and source location.
            </summary>
            <param name="condition"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Ariant.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the condition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Ariant.Condition">
            <summary>
            The condition that must be maintained or changed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Ariant.Description">
            <summary>
            An optional expression that is associated with this particular contract element. Generally, it would
            be a message that was written at the same time as the contract and is meant to be used as a description
            when the contract fails.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Ariant.OriginalSource">
            <summary>
            An optional string that is the "string-ified" version of the condition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Ariant.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Ariant.IsModel">
            <summary>
            True iff any member mentioned in the Condition is a "model member", i.e.,
            its definition has the [ContractModel] attribute on it.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Invariant">
            <summary>
            A condition that must be maintained during the execution of a program.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Invariant.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Invariant)">
            <summary>
            Make a copy of an Invariant, changing the containing block.
            </summary>
            <param name="containingBlock">The new containing block.</param>
            <param name="template">The Invariant to be copied.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Invariant.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Construct an invariant with the given condition and source location.
            </summary>
            <param name="condition"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="T:Microsoft.Cci.Ast.Variant">
            <summary>
            A measure that must be changed during the execution of a program.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Variant.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Variant)">
            <summary>
            Copy a Variant, changing its containing block.
            </summary>
            <param name="containingBlock">The new containing block.</param>
            <param name="template">The Variant to be copied.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Variant.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Construct an variant with the given measure and source location.
            </summary>
            <param name="measure"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="T:Microsoft.Cci.Ast.LoopContract">
            <summary>
            A collection of collections of objects that describe a loop.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopContract.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.LoopInvariant},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Allocates a collection of collections of objects that describe a loop.
            </summary>
            <param name="invariants">A possibly empty or null list of loop invariants.</param>
            <param name="writes">A possibly empty list of expressions that each represents a set of memory locations that may be written to by the body of the loop.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopContract.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.LoopInvariant},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Allocates a collection of collections of objects that describe a loop.
            </summary>
            <param name="invariants">A possibly empty or null list of loop invariants.</param>
            <param name="writes">A possibly empty list of expressions that each represents a set of memory locations that may be written to by the body of the loop.</param>
            <param name="variants">A possibly empty list or null list of loop variants.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopContract.#ctor(Microsoft.Cci.Ast.LoopContract)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template.
            </summary>
            <param name="template">The template to copy.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.LoopContract.containingBlock">
            <summary>
            The block statement that contains the method contract. Usually this is the dummy block of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopContract.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Checks for errors and return true if any are found.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopContract.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(ILoopInvariant).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopContract.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this contract, changing the containing block to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopContract.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LoopContract.Invariants">
            <summary>
            A possibly empty list of loop invariants.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LoopContract.Writes">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that may be written to by the body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LoopContract.Variants">
            <summary>
            A possibly empty list of loop variants.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LoopInvariant">
            <summary>
            A condition that must be true at the start of every iteration of a loop.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopInvariant.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a condition that must be true at the start of every iteration of a loop.
            </summary>
            <param name="condition">The condition that must be true at the start of every iteration of a loop.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopInvariant.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LoopInvariant)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied precondition. This should be different from the containing block of the template precondition.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopInvariant.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(ILoopInvariant).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopInvariant.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(LoopInvariant).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopInvariant.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this invariant, changing the Condition.ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LoopInvariant.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodContract">
            <summary>
            A collection of collections of objects that augment the type signature of a method with additional information
            that describes the contract between calling method and called method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.AddressableExpression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Postcondition},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Precondition},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.ThrownException},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Boolean)">
            <summary>
            Allocates a collection of collections of objects that augment the type signature of a method with additional information
            that describes the contract between calling method and called method. This constructor omits termination checking, for backwards compatability,
            but should probably be depricated.
            </summary>
            <param name="allocates">A possibly empty list of expressions that each represents a set of memory locations that are newly allocated by a call to the method.</param>
            <param name="frees">A possibly empty list of expressions that each represents a set of memory locations that are freed by a call to the method.</param>
            <param name="modifiedVariables">A possibly empty or null list of target expressions (variables) that are modified by the called method.</param>
            <param name="postconditions">A possibly empty or null list of postconditions that are established by the called method.</param>
            <param name="preconditions">A possibly empty list of preconditions that must be established by the calling method.</param>
            <param name="reads">A possibly empty list of expressions that each represents a set of memory locations that may be read by the called method.</param>
            <param name="thrownExceptions">A possibly empty or null list of exceptions that may be thrown (or passed on) by the called method.</param>
            <param name="writes">A possibly empty list of expressions that each represents a set of memory locations that may be written to by the called method.</param>
            <param name="isPure">True if the method has no observable side-effect on program state and hence this method is safe to use in a contract, which may or may not be executed, depending on how the program has been compiled.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.AddressableExpression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Postcondition},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Precondition},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.ThrownException},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Boolean,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Allocates a collection of collections of objects that augment the type signature of a method with additional information
            that describes the contract between calling method and called method. This constructor omits termination checking, for backwards compatability,
            but should probably be depricated.
            </summary>
            <param name="allocates">A possibly empty list of expressions that each represents a set of memory locations that are newly allocated by a call to the method.</param>
            <param name="frees">A possibly empty list of expressions that each represents a set of memory locations that are freed by a call to the method.</param>
            <param name="modifiedVariables">A possibly empty or null list of target expressions (variables) that are modified by the called method.</param>
            <param name="postconditions">A possibly empty or null list of postconditions that are established by the called method.</param>
            <param name="preconditions">A possibly empty list of preconditions that must be established by the calling method.</param>
            <param name="reads">A possibly empty list of expressions that each represents a set of memory locations that may be read by the called method.</param>
            <param name="thrownExceptions">A possibly empty or null list of exceptions that may be thrown (or passed on) by the called method.</param>
            <param name="writes">A possibly empty list of expressions that each represents a set of memory locations that may be written to by the called method.</param>
            <param name="isPure">True if the method has no observable side-effect on program state and hence this method is safe to use in a contract, which may or may not be executed, depending on how the program has been compiled.</param>
            <param name="variants">A possibly empty list of variants, each of which is decreased in each call from the method.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.#ctor">
            <summary>
            Allocates an empty method contract that indicates that the method body must be inlined.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.#ctor(Microsoft.Cci.Ast.MethodContract)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template.
            </summary>
            <param name="template">The template to copy.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodContract.containingBlock">
            <summary>
            The block statement that contains the method contract. Usually this is the dummy block of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(IMethodContract).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Checks for errors and return true if any are found.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this contract, changing the containing block to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContract.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.Allocates">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that are newly allocated by a call to the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.ContainingSignatureDeclaration">
            <summary>
            The signature declaration (such as a lambda, method, property or anonymous method) that defines this contract.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.Frees">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that are freed by a call to the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.ModifiedVariables">
            <summary>
            A possibly empty list of addressable expressions (variables) that are modified by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.MustInline">
            <summary>
            The method body constitutes its contract. Callers must substitute the body in line with the call site.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.Postconditions">
            <summary>
            A possibly empty list of postconditions that are established by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.Preconditions">
            <summary>
            A possibly empty list of preconditions that must be established by the calling method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.Reads">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that may be read by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.ThrownExceptions">
            <summary>
            A possibly empty list of exceptions that may be thrown (or passed on) by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.Variants">
            <summary>
            A possibly empty list of postconditions that are established by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.Writes">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that may be written to by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContract.IsPure">
            <summary>
            True if the method has no observable side-effect on program state and hence this method is safe to use in a contract,
            which may or may not be executed, depending on how the program has been compiled.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodContractItem">
            <summary>
            A condition that must be true at the start or end of a method
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContractItem.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a condition that must be true at the start or end of a method
            </summary>
            <param name="condition">The condition that must be true at the start or end of the method that is associated with this MethodContractItem instance.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContractItem.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.MethodContractItem)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied condition. This should be different from the containing block of the template precondition.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContractItem.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodContractItem.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContractItem.Condition">
            <summary>
            The condition that must be true at the start or end of the method that is associated with this MethodContractItem instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContractItem.Description">
            <summary>
            An optional expression that is associated with this particular contract element. Generally, it would
            be a message that was written at the same time as the contract and is meant to be used as a description
            when the contract fails.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContractItem.OriginalSource">
            <summary>
            An optional string that is the "string-ified" version of the condition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContractItem.ConvertedCondition">
            <summary>
            The condition that must be true at the start or end of the method that is associated with this MethodContractItem instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodContractItem.IsModel">
            <summary>
            True iff any member mentioned in the Condition is a "model member", i.e.,
            its definition has the [ContractModel] attribute on it.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Precondition">
            <summary>
            A condition that must be true at the start of a method, possibly bundled with an exception that will be thrown if the condition does not hold.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Precondition.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a condition that must be true at the start of a method, possibly bundled with an exception that will be thrown if the condition does not hold.
            </summary>
            <param name="condition">The condition that must be true at the start of the method that is associated with this Precondition instance.</param>
            <param name="exceptionToThrow">An exeption that will be thrown if Condition is not true at the start of the method that is associated with this Precondition instance.
            May be null. If null, the runtime behavior of the associated method is undefined when Condition is not true.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Precondition.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Precondition)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied precondition. This should be different from the containing block of the template precondition.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Precondition.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Precondition.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(IPrecondition).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Precondition.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(Precondition).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Precondition.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this precondition, changing the containing block to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Precondition.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Precondition.AlwaysCheckedAtRuntime">
            <summary>
            The precondition is always checked at runtime, even in release builds.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Precondition.ExceptionToThrow">
            <summary>
            An exeption that will be thrown if Condition is not true at the start of the method that is associated with this Precondition instance.
            May be null. If null, the runtime behavior of the associated method is undefined when Condition is not true.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Postcondition">
            <summary>
            A condition that must be true at the end of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Postcondition.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a condition that must be true at the end of a method.
            </summary>
            <param name="condition">The condition that must be true at the end of the method that is associated with this Postcondition instance.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Postcondition.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Postcondition)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied postcondition. This should be different from the containing block of the template postcondition.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Postcondition.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(IPostcondition).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Postcondition.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(Postcondition).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Postcondition.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this post condition, changing the containing block to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ThrownException">
            <summary>
            An exception that can be thrown by the associated method, along with a possibly empty list of postconditions that are true when that happens.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrownException.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.Postcondition,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an exception that can be thrown by the associated method, along with a possibly empty list of postconditions that are true when that happens.
            </summary>
            <param name="exceptionType">The exception that can be thrown by the associated method.</param>
            <param name="postcondition">The postcondition that holds if the associated method throws this exception.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrownException.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ThrownException)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied postcondition. This should be different from the containing block of the template postcondition.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrownException.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrownException.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(IThrownException).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrownException.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(ThrownException).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrownException.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this thrown exception, changing the containing block to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrownException.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ThrownException.ExceptionType">
            <summary>
            The exception that can be thrown by the associated method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ThrownException.Postcondition">
            <summary>
            The postcondition that holds if the associated method throws this exception.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeContract">
            <summary>
            A collection of collections of objects that augment the signature of a type with additional information
            that describe invariants, model variables and functions, as well as axioms.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeContract.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.FieldDeclaration},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.MethodDeclaration},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.TypeInvariant})">
            <summary>
            Allocates a collection of collections of objects that augment the signature of a type with additional information
            that describe invariants, model variables and functions, as well as axioms.
            </summary>
            <param name="contractFields">A possibly empty list of contract fields. Contract fields can only be used inside contracts and are not available at runtime.</param>
            <param name="contractMethods">A possibly empty list of contract methods. Contract methods have no bodies and can only be used inside contracts. The meaning of a contract
            method is specified by the axioms (assumed invariants) of the associated type. Contract methods are not available at runtime.</param>
            <param name="invariants">A possibly empty list of type invariants. Axioms are a special type of invariant.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeContract.#ctor(Microsoft.Cci.Ast.TypeContract)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template.
            </summary>
            <param name="template">The template to copy.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeContract.containingType">
            <summary>
            The type declaration that contains the type contract.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeContract.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Checks for errors and return true if any are found.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeContract.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(ITypeContract).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeContract.MakeCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a copy of this contract, changing the containing block to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeContract.SetContainingType(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeContract.ContractFields">
            <summary>
            A possibly empty list of contract fields. Contract fields can only be used inside contracts and are not available at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeContract.ContractMethods">
            <summary>
            A possibly empty list of contract methods. Contract methods have no bodies and can only be used inside contracts. The meaning of a contract
            method is specified by the axioms (assumed invariants) of the associated type. Contract methods are not available at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeContract.Invariants">
            <summary>
            A possibly empty list of type invariants. Axioms are a special type of invariant.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeInvariant">
            <summary>
            A condition that must be true after an object has been constructed and that is by default a part of the precondition and postcondition of every public method of the associated type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeInvariant.#ctor(Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a condition that must be true at the start of a method, possibly bundled with an exception that will be thrown if the condition does not hold.
            </summary>
            <param name="name">The name of the axiom. Used in error diagnostics. May be null.</param>
            <param name="condition">The condition that must be true at the start of the method that is associated with this Precondition instance.</param>
            <param name="isAxiom">An axiom is a type invariant whose truth is assumed rather than derived. Commonly used to make statements about the meaning of contract methods.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeInvariant.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TypeInvariant)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied type invariant. This should be different from the containing block of the template.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeInvariant.Dispatch(Microsoft.Cci.Contracts.ICodeAndContractVisitor)">
            <summary>
            Calls visitor.Visit(ITypeInvariant).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeInvariant.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(TypeInvariant).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeInvariant.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this type invariant, changing the containing block to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeInvariant.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeInvariant.IsAxiom">
            <summary>
            An axiom is a type invariant whose truth is assumed rather than derived. Commonly used to make statements about the meaning of contract methods.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeInvariant.Name">
            <summary>
            The name of the axiom. Used in error diagnostics. May be null.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AstSourceDocumentEdit">
            <summary>
            An object that describes an edit to a source file.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AstSourceDocumentEdit.#ctor(Microsoft.Cci.ISourceLocation,Microsoft.Cci.ISourceDocument)">
            <summary>
            Allocates an object that describes an edit to a source file.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AstSourceDocumentEdit.CompilationPartAfterEdit">
            <summary>
            The compilation part that is the result of applying this edit.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Compilation">
            <summary>
            The root node and global context for a compilation. Every node in the AST has a path back to this node. 
            Compilation nodes and all of their descendants are immutable once initialized. Initialization happens in two phases.
            Calling the constructor is phase one. Setting the parent node is phase two (and is delayed in order to allow for bottom up AST construction).
            A compilation does not have a second phase initialization method since it has no parent.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.#ctor(Microsoft.Cci.ISourceEditHost,Microsoft.Cci.Ast.Unit,Microsoft.Cci.Ast.FrameworkOptions)">
            <summary>
            Use this constructor to construct an entirely new Compilation. A compilation is a list of source files, compiler options and references to other compilations.
            In command line terms, it corresponds to a single invocation of the command line compiler. In IDE terms it corresponds to what Visual Studio calls a project.
            Compilation nodes and all of their descendants are immutable once initialized. Initialization happens in two phases.
            Calling the constructor is phase one. Setting the parent node is phase two (and is delayed in order to allow for bottom up AST construction).
            A compilation does not have a second phase initialization method since it has no parent.
            </summary>
            <param name="hostEnvironment">An object that represents the application that hosts the compilation and that provides things such as a shared name table.</param>
            <param name="result">A "unit of compilation" that holds the result of this compilation. Once the Compilation has been constructed, result can be navigated causing
            on demand compilation to occur.</param>
            <param name="options">Compilation options, for example whether or not checked arithmetic is the default.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.#ctor(Microsoft.Cci.ISourceEditHost,Microsoft.Cci.Ast.Unit,Microsoft.Cci.Ast.FrameworkOptions,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.CompilationPart})">
            <summary>
            Use this constructor to construct a Compilation that is an incremental update of another Compilation.
            </summary>
            <param name="hostEnvironment">An object that represents the application that hosts the compilation and that provides things such as a shared name table.</param>
            <param name="result">A "unit of compilation" that holds the result of this compilation. Once the Compilation has been constructed, result can be navigated causing
            on demand compilation to occur.</param>
            <param name="parts">A parts list that is incrementally different from the parts of previous version of this compilation.</param>
            <param name="options">Compilation options, for example whether or not checked arithmetic is the default.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the compilation.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.Contains(Microsoft.Cci.ISourceDocument)">
            <summary>
            Returns true if the given source document forms a part of the compilation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.GetLocalScopeProvider">
            <summary>
            Returns an object that can provide information about the local scopes of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.GetPartList">
            <summary>
            Constructs a compilation parts list for the first time.
            This method is combined with the constructor that does not take a parts list as parameter and requires the parts list to be null.
            It is implemented by derived types and is expected to create compilation parts that know how to construct themselves by parsing their corresponding source files.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.GetSourceLocationProvider">
            <summary>
            Returns an object that can map some kinds of ILocation objects to IPrimarySourceLocation objects.
            In this case, it is primarily needed to map IDerivedSourceLocations and IIncludedSourceLocations to IPrimarySourceLocations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.GetUnitSetFor(Microsoft.Cci.IName)">
            <summary>
            Gets a unit set defined by the given name as specified by the compilation options. For example, the name could be an external alias
            in C# and the compilation options will specify which referenced assemblies correspond to the external alias.
            Returns a dummy unit set if none of the units in this compilation correspond to the given unit set name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Compilation.UpdateCompilationParts(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.CompilationPart})">
            <summary>
            Returns a new Compilation instance that is the same as this instance except that the given collection of compilation parts replaces the collection from this instance.
            </summary>
            <param name="parts">A list of compilation parts that may either belong to this compilation or may be phase one
            initialized compilation parts that were derived from compilation parts belonging to this compilation.</param>
            <remarks>
            After a source edit, typical behavior is to construct a sub tree corresponding to the smallest enclosing syntactic declaration construct
            that encloses the edited source region. Then the parent of the corresponding construct in the old AST is updated with
            the newly constructed sub tree. The update method of the parent will in turn call the update method of its parent and so on
            until this method is reached. The buck stops here. The resulting compilation node is a mixture of old compilation parts and new compilation parts
            kept in the this this.parts field. If a compilation part is actually visited (by means of a traversal of the enumeration returned by this.Parts,
            then each returned compilation part will be a shallow (reparented) copy of the old part, so that the mixture is never observable,
            but deep copies are only made when absolutely necessary.
            </remarks>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.BuiltinMethods">
            <summary>
            A collection of methods that correspond to operations that are built in to the target platform.
            These methods exist only to allow standard overload resolution logic to be used to determine which
            conversions to apply to the arguments.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.GlobalsClass">
            <summary>
            The class that contains any global variables and funcions.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.HasErrors">
            <summary>
            Checks the compilation for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.HostEnvironment">
            <summary>
            An object that represents the (mutable) environment that hosts the compiler that produced this Compilation instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.CompilerGeneratedCtor">
            <summary>
            A reference to the default constructor of the System.Runtime.CompilerServices.CompilerGenerated attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.ContractProvider">
            <summary>
            An object that associates contracts, such as preconditions and postconditions, with methods, types and loops. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.ExtensionAttributeCtor">
            <summary>
            A reference to the default constructor of the System.Runtime.CompilerServices.CompilerGenerated attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.LocalScopeProvider">
            <summary>
            An object that can provide information about the local scopes of a method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.ModuleClass">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.NameTable">
            <summary>
            A table used to intern strings used as names. This table is obtained from the host environment.
            It is mutuable, in as much as it is possible to add new names to the table.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.Options">
            <summary>
            Compilation options, for example whether or not checked arithmetic is the default.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.Parts">
            <summary>
            A collection of ASTs, each of which corresponds to source input to the compilation.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.Result">
            <summary>
            The root of an object model that represents the output of a compilation. This includes a symbol table that corresponds to the
            metadata in a PE file, as well as compiled method bodies that corresponds to the instructions streams in a PE file.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.SourceLocationProvider">
            <summary>
            An object that can map some kinds of ILocation objects to IPrimarySourceLocation objects.
            In this case, it is primarily needed to map IDerivedSourceLocations and IIncludedSourceLocations to IPrimarySourceLocations.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Compilation.UnitSet">
            <summary>
            A set of units comprised by the result of the compilation along with all of the units referenced by this compilation.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CompilationPart">
            <summary>
            A part of a compilation that has been derived from a single source document. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.#ctor(Microsoft.Cci.Ast.LanguageSpecificCompilationHelper,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a part of a compilation that has been derived from a single source document. 
            </summary>
            <param name="helper">An instance of a language specific class containing methods that are of general utility during semantic analysis.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated compilation part.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.#ctor(Microsoft.Cci.Ast.LanguageSpecificCompilationHelper,Microsoft.Cci.ISourceLocation,Microsoft.Cci.Ast.GlobalDeclarationContainerClass)">
            <summary>
            Initializes a part of a compilation that has been derived from a single source document. 
            </summary>
            <param name="helper">An instance of a language specific class containing methods that are of general utility.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated compiltation part.</param>
            <param name="globalDeclarationContainer">A class that contains global variables and methods as its members.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.#ctor(Microsoft.Cci.Ast.LanguageSpecificCompilationHelper,Microsoft.Cci.Ast.CompilationPart)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its helper object.
            </summary>
            <param name="helper">The helper object the new copy. This should be different from the helper object the template part.</param>
            <param name="template">The compilation part to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the compilation part.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CompilationPart) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.MakeShallowCopyFor(Microsoft.Cci.Ast.Compilation)">
            <summary>
            Makes a shallow copy of this compilation part that can be added to the compilation parts list of the given target compilation.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a part of the target compilation it
            returns itself.
            </summary>
            <remarks>Do not call this method on compilation parts that already return the target compilation as the value of their
            compilation property. (Compilers that do not support incremental compilation might throw an exception if this method is called.)</remarks>
            <param name="targetCompilation">The compilation is to be the parent compilation of the new compilation part.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.CompilationPart.rootNamespace">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.UpdateRootNamespace(Microsoft.Cci.Ast.RootNamespaceDeclaration)">
            <summary>
            Returns a new CompilationPart instance that is the same as this instance except that the root namespace has been replaced with the given namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.UpdateWith(Microsoft.Cci.Ast.AstSourceDocumentEdit,System.Collections.Generic.IList{Microsoft.Cci.Ast.CompilationPart},Microsoft.Cci.EditEventArgs@,Microsoft.Cci.EditEventArgs@)">
            <summary>
            Returns a compilation part that is based on the source document that is the result of the given edit and that computed as an incremental change to this compilation part.
            Also updates the given list of compilation parts so that it includes the resulting part rather than this part.
            </summary>
            <param name="edit">A text edit that was applied to the source document on which this compilation part is based.</param>
            <param name="updatedParts">The list of parts of the updated version of this.Compilation. The entry of the list that contains this part is updated with the resulting part.</param>
            <param name="editEventArgs">An EditEventArgs object that describes the incremental change is assigned to this out parameter.</param>
            <param name="symbolTableEditEventArgs">An EditEventArgs object that describes only the changes that are not confined to method bodies is assigned to this out parameter. 
            Null if the edit did not result in such changes.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.GetUpdatedRootNamespace(Microsoft.Cci.Ast.INamespaceDeclarationMember,Microsoft.Cci.Ast.AstSourceDocumentEdit,System.Collections.Generic.IList{Microsoft.Cci.Ast.CompilationPart},Microsoft.Cci.EditEventArgs@,Microsoft.Cci.EditEventArgs@)">
            <summary>
            Returns a root namespace that is based on the source document that is the result of the given edit and that computed as an incremental change to this compilation part.
            Also updates the given list of compilation parts so that it includes the compilation part of the resulting root namespace rather than this part.
            </summary>
            <param name="oldMember">A namespace member that entirely encloses the given edit.</param>
            <param name="edit">A text edit that was applied to the source document on which this compilation part is based.</param>
            <param name="updatedParts">The list of parts of the updated version of this.Compilation. 
            The entry of the list that contains this part is updated with result.CompilationPart.</param>
            <param name="editEventArgs">An EditEventArgs object that describes the incremental change is assigned to this out parameter.</param>
            <param name="symbolTableEditEventArgs">An EditEventArgs object that describes only the changes that are not confined to method bodies is assigned to this out parameter. 
            Null if the edit did not result in such changes.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.CompareOldAndNew(Microsoft.Cci.Ast.INamespaceDeclarationMember,Microsoft.Cci.Ast.INamespaceDeclarationMember,Microsoft.Cci.ISourceDocumentEdit,Microsoft.Cci.EditEventArgs@,Microsoft.Cci.EditEventArgs@)">
            <summary>
            Returns a root namespace that is based on the source document that is the result of the given edit and that computed as an incremental change to this compilation part.
            Also updates the given list of compilation parts so that it includes the compilation part of the resulting root namespace rather than this part.
            </summary>
            <param name="oldMember">A namespace member that entirely encloses the given edit.</param>
            <param name="newMember">A namespace member that is the result of applying the given edit to oldMember.</param>
            <param name="edit">A text edit that was applied to the source document on which this compilation part is based.</param>
            <param name="editEventArgs">An EditEventArgs object that describes the incremental change is assigned to this out parameter.</param>
            <param name="symbolTableEditEventArgs">An EditEventArgs object that describes only the changes that are not confined to method bodies is assigned to this out parameter. 
            Null if the edit did not result in such changes.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.GetUpdatedRootNamespace(Microsoft.Cci.Ast.INamespaceDeclarationMember,Microsoft.Cci.Ast.INamespaceDeclarationMember,Microsoft.Cci.ISourceDocumentEdit,System.Boolean)">
            <summary>
            
            </summary>
            <param name="oldMember"></param>
            <param name="newMember"></param>
            <param name="edit"></param>
            <param name="recurse"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.SetContainingNamespace(Microsoft.Cci.Ast.INamespaceDeclarationMember,Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            
            </summary>
            <param name="newMember"></param>
            <param name="result"></param>
            <param name="recurse"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.GetUpdatedRootNamespace(Microsoft.Cci.Ast.AstSourceDocumentEdit,System.Collections.Generic.IList{Microsoft.Cci.Ast.CompilationPart},Microsoft.Cci.EditEventArgs@,Microsoft.Cci.EditEventArgs@)">
            <summary>
            
            </summary>
            <param name="edit"></param>
            <param name="updatedParts"></param>
            <param name="editEventArgs"></param>
            <param name="symbolTableEditEventArgs"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.GetUpdatedRootNamespace(Microsoft.Cci.Ast.ITypeDeclarationMember,Microsoft.Cci.Ast.AstSourceDocumentEdit,System.Collections.Generic.IList{Microsoft.Cci.Ast.CompilationPart},Microsoft.Cci.EditEventArgs@,Microsoft.Cci.EditEventArgs@)">
            <summary>
            
            </summary>
            <param name="oldMember"></param>
            <param name="edit"></param>
            <param name="updatedParts"></param>
            <param name="editEventArgs"></param>
            <param name="symbolTableEditEventArgs"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.GetUpdatedRootNamespace(Microsoft.Cci.Ast.ITypeDeclarationMember,Microsoft.Cci.Ast.ITypeDeclarationMember,Microsoft.Cci.ISourceDocumentEdit,System.Boolean)">
            <summary>
            
            </summary>
            <param name="oldMember"></param>
            <param name="newMember"></param>
            <param name="edit"></param>
            <param name="recurse"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.SetContainingTypeDeclaration(Microsoft.Cci.Ast.ITypeDeclarationMember,Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            
            </summary>
            <param name="newMember"></param>
            <param name="newNsType"></param>
            <param name="recurse"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.ParseAsNamespaceDeclarationMember(Microsoft.Cci.ISourceLocation,Microsoft.Cci.ISourceDocumentEdit)">
            <summary>
            
            </summary>
            <param name="sourceLocationBeforeEdit"></param>
            <param name="edit"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.ParseAsRootNamespace">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompilationPart.ParseAsTypeDeclarationMember(Microsoft.Cci.ISourceLocation,Microsoft.Cci.ISourceDocumentEdit,Microsoft.Cci.IName)">
            <summary>
            
            </summary>
            <param name="sourceLocationBeforeEdit"></param>
            <param name="edit"></param>
            <param name="typeName"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompilationPart.Compilation">
            <summary>
            The compilation to which this part belongs.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompilationPart.GlobalDeclarationContainer">
            <summary>
            A class that contains global variables and methods as its members.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompilationPart.Helper">
            <summary>
            An instance of a language specific class containing methods that are of general utility. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompilationPart.RootNamespace">
            <summary>
            An anonymous namespace that contains all of the top level types and namespaces found in this compilation part.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompilationPart.PlatformInvokeInformationTable">
            <summary>
            Call this only when holding a lock on GlobalLock.LockingObject. Use the result only while holding the lock.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IDeclaration">
            <summary>
            An AST node derived from a single region of source code and which represents a symbol declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IDeclaration.Attributes">
            <summary>
            Custom attributes that are to be persisted in the metadata.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IDeclaration.CompilationPart">
            <summary>
            The compilation part that this declaration forms a part of.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IDeclaration.SourceAttributes">
            <summary>
            Custom attributes that are explicitly specified in source. Some of these may not end up in persisted metadata.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MemberFinder">
            <summary>
            A source traverser that finds the most nested namespace or type member that spans a given source location.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SourceTraverser">
            <summary>
            A class that contains a specialized Visit routine for each standard type of object defined in this object model. 
            Each of these visit routines in turn dispatches the visitor on each of the child objects of the corresponding node.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SourceVisitor">
            <summary>
            Implemented by classes that visit nodes of object graphs via a double dispatch mechanism, usually performing some computation of a subset of the nodes in the graph.
            Contains a specialized Visit routine for each standard type of object defined in this object model. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Addition)">
            <summary>
            Performs some computation with the given addition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AdditionAssignment)">
            <summary>
            Performs some computation with the given addition assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AddressableExpression)">
            <summary>
            Performs some computation with the given addressable expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AddressDereference)">
            <summary>
            Performs some computation with the given address dereference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AddressOf)">
            <summary>
            Performs some computation with the given AddressOf expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AliasDeclaration)">
            <summary>
            Performs some computation with the given alias declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AliasQualifiedName)">
            <summary>
            Performs some computation with the given alias qualified name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AnonymousMethod)">
            <summary>
            Performs some computation with the given anonymous method expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AttachEventHandlerStatement)">
            <summary>
            Performs some computation with the given attach event handler statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AttributeTypeExpression)">
            <summary>
            Performs some computation with the given attribute type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ArrayTypeExpression)">
            <summary>
            Performs some computation with the given array type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AssertStatement)">
            <summary>
            Performs some computation with the given assert statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Assignment)">
            <summary>
            Performs some computation with the given assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.AssumeStatement)">
            <summary>
            Performs some computation with the given assume statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BaseClassReference)">
            <summary>
            Performs some computation with the given base class reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BitwiseAnd)">
            <summary>
            Performs some computation with the given bitwise and expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BitwiseAndAssignment)">
            <summary>
            Performs some computation with the given bitwise and assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BitwiseOr)">
            <summary>
            Performs some computation with the given bitwise or expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BitwiseOrAssignment)">
            <summary>
            Performs some computation with the given bitwise or assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BlockExpression)">
            <summary>
            Performs some computation with the given block expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Performs some computation with the given statement block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Cast)">
            <summary>
            Performs some computation with the cast-if-possible expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CastIfPossible)">
            <summary>
            Performs some computation with the cast-if-possible expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CatchClause)">
            <summary>
            Performs some computation with the given catch clause.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CheckedExpression)">
            <summary>
            Performs some computation with the given checked expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CheckIfInstance)">
            <summary>
            Performs some computation with the given check-if-instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ClearLastErrorStatement)">
            <summary>
            Performs some computation with the given clear last error statement(VB: On Error Goto -1).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Conversion)">
            <summary>
            Performs some computation with the given conversion expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Comma)">
            <summary>
            Performs some computation with the given comma expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Conditional)">
            <summary>
            Performs some computation with the given conditional expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Compilation)">
            <summary>
            Performs some computation with the given compilation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CompilationPart)">
            <summary>
            Performs some computation with the given compilation part.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ConditionalStatement)">
            <summary>
            Performs some computation with the given conditional statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CompileTimeConstant)">
            <summary>
            Performs some computation with the given compile time constant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ContinueStatement)">
            <summary>
            Performs some computation with the given continue statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CreateAnonymousObject)">
            <summary>
            Performs some computation with the anonymous object creation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CreateArray)">
            <summary>
            Performs some computation with the given array creation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CreateDelegateInstance)">
            <summary>
            Performs some computation with the anonymous object creation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CreateImplicitlyTypedArray)">
            <summary>
            Performs some computation with the given implicitly typed array creation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CreateObjectInstance)">
            <summary>
            Performs some computation with the given constructor call expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.CreateStackArray)">
            <summary>
            Performs some computation with the given create stack array expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Indexer)">
            <summary>
            Performs some computation with the given indexer expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.DefaultValue)">
            <summary>
            Performs some computation with the given defalut value expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.DisableOnErrorHandler)">
            <summary>
            Performs some computation with the given disable on error handler statement (VB: On Error Goto 0).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Division)">
            <summary>
            Performs some computation with the given division expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.DivisionAssignment)">
            <summary>
            Performs some computation with the given division assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.DoWhileStatement)">
            <summary>
            Performs some computation with the given do while statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Documentation)">
            <summary>
            Performs some computation with the given documentation node.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.DocumentationAttribute)">
            <summary>
            Performs some computation with the given documenation attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.DocumentationElement)">
            <summary>
            Performs some computation with the given documenation element.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.DoUntilStatement)">
            <summary>
            Performs some computation with the given do until statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.EmptyStatement)">
            <summary>
            Performs some computation with the given empty statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.EmptyTypeExpression)">
            <summary>
            Performs some computation with the given empty type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.EndStatement)">
            <summary>
            Performs some computation with the given end statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Equality)">
            <summary>
            Performs some computation with the given equality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.EraseStatement)">
            <summary>
            Performs some computation with the given erase statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ErrorStatement)">
            <summary>
            Performs some computation with the given error statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.EventDeclaration)">
            <summary>
            Performs some computation with the given event declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ExclusiveOr)">
            <summary>
            Performs some computation with the given exclusive or expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ExclusiveOrAssignment)">
            <summary>
            Performs some computation with the given exclusive or assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.BreakStatement)">
            <summary>
            Performs some computation with the given break statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Exists)">
            <summary>
            Performs some computation with the given exists expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Exponentiation)">
            <summary>
            Performs some computation with the given exponentiation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ExpressionStatement)">
            <summary>
            Performs some computation with the given expression statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.FieldDeclaration)">
            <summary>
            Performs some computation with the given field declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.FixedStatement)">
            <summary>
            Performs some computation with the given fixed statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Forall)">
            <summary>
            Performs some computation with the given forall expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ForEachStatement)">
            <summary>
            Performs some computation with the given foreach statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ForRangeStatement)">
            <summary>
            Performs some computation with the given "for i in range" statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ForStatement)">
            <summary>
            Performs some computation with the given for statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GenericInstanceExpression)">
            <summary>
            Performs some computation with the given generic instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GenericMethodParameterDeclaration)">
            <summary>
            Performs some computation with the given generic method parameter declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GenericTypeInstanceExpression)">
            <summary>
            Performs some computation with the given generic type instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GotoStatement)">
            <summary>
            Performs some computation with the given goto statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GotoSwitchCaseStatement)">
            <summary>
            Performs some computation with the given goto switch case statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Immutable.GenericTypeInstance)">
            <summary>
            Performs some computation with the given generic instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GenericTypeParameterDeclaration)">
            <summary>
            Performs some computation with the given generic parameter declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GetTypeOfTypedReference)">
            <summary>
            Performs some computation with the given get type of typed reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GetValueOfTypedReference)">
            <summary>
            Performs some computation with the given get value of typed reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GreaterThan)">
            <summary>
            Performs some computation with the given greater-than expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.GreaterThanOrEqual)">
            <summary>
            Performs some computation with the given greater-than-or-equal expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ImplicitQualifier)">
            <summary>
            Performs some computation with the given implicit qualifier expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Implies)">
            <summary>
            Performs some computation with the given implies expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.InitializeObject)">
            <summary>
            Performs some computation with the given object initialization expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.IntegerDivision)">
            <summary>
            Performs some computation with the given integer division expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.IsFalse)">
            <summary>
            Performs some computation with the given IsFalse expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.IsTrue)">
            <summary>
            Performs some computation with the given IsTrue expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LabeledStatement)">
            <summary>
            Performs some computation with the given labeled statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Lambda)">
            <summary>
            Performs some computation with the given lambda expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LambdaParameter)">
            <summary>
            Performs some computation with the given lambda parameter.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LeftShift)">
            <summary>
            Performs some computation with the given left shift expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LeftShiftAssignment)">
            <summary>
            Performs some computation with the given left shift assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LessThan)">
            <summary>
            Performs some computation with the given less-than expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LessThanOrEqual)">
            <summary>
            Performs some computation with the given less-than-or-equal expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LiftedConversion)">
            <summary>
            Performs some computation with the given lifted conversion expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Like)">
            <summary>
            Performs some computation with the given like expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LocalDeclaration)">
            <summary>
            Performs some computation with the given local declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LocalDeclarationsStatement)">
            <summary>
            Performs some computation with the given local declarations statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LockStatement)">
            <summary>
            Performs some computation with the given lock statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LogicalAnd)">
            <summary>
            Performs some computation with the given logical and expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LogicalNot)">
            <summary>
            Performs some computation with the given logical not expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LogicalOr)">
            <summary>
            Performs some computation with the given logical or expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.LoopInvariant)">
            <summary>
            Performs some computation with the given loop invariant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.MakeTypedReference)">
            <summary>
            Performs some computation with the given make typed reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Immutable.ManagedPointerType)">
            <summary>
            Performs some computation with the given managed pointer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ManagedPointerTypeExpression)">
            <summary>
            Performs some computation with the given managed pointer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.MethodBody)">
            <summary>
            Performs some computation with the given method body.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.MethodCall)">
            <summary>
            Performs some computation with the given method call.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.MethodDeclaration)">
            <summary>
            Performs some computation with the given method declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.MethodGroup)">
            <summary>
            Performs some computation with the given method group.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Modulus)">
            <summary>
            Performs some computation with the given modulus expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ModulusAssignment)">
            <summary>
            Performs some computation with the given modulus assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Multiplication)">
            <summary>
            Performs some computation with the given multiplication expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.MultiplicationAssignment)">
            <summary>
            Performs some computation with the given multiplication assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamedArgument)">
            <summary>
            Performs some computation with the given named argument expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NameDeclaration)">
            <summary>
            Performs some computation with the given name declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamedTypeExpression)">
            <summary>
            Performs some computation with the given named type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceClassDeclaration)">
            <summary>
            Performs some computation with the given class declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Performs some computation with the given namespace declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceDelegateDeclaration)">
            <summary>
            Performs some computation with the given delegate declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceEnumDeclaration)">
            <summary>
            Performs some computation with the given enum declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceImportDeclaration)">
            <summary>
            Performs some computation with the given namespace import declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceInterfaceDeclaration)">
            <summary>
            Performs some computation with the given interface declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceReferenceExpression)">
            <summary>
            Performs some computation with the given namespace reference.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NamespaceStructDeclaration)">
            <summary>
            Performs some computation with the given struct declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NestedClassDeclaration)">
            <summary>
            Performs some computation with the given class declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NestedNamespaceDeclaration)">
            <summary>
            Performs some computation with the given namespace declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NestedDelegateDeclaration)">
            <summary>
            Performs some computation with the given delegate declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NestedEnumDeclaration)">
            <summary>
            Performs some computation with the given enum declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NestedInterfaceDeclaration)">
            <summary>
            Performs some computation with the given interface declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NestedStructDeclaration)">
            <summary>
            Performs some computation with the given struct declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NonNullTypeExpression)">
            <summary>
            Performs some computation with the given non null type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NotEquality)">
            <summary>
            Performs some computation with the given not equality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NullableTypeExpression)">
            <summary>
            Performs some computation with the given nullable type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.NullCoalescing)">
            <summary>
            Performs some computation with the given null coalescing expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.OnErrorGotoStatement)">
            <summary>
            Performs some computation with the given On Error Goto statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.OnErrorResumeNextStatement)">
            <summary>
            Performs some computation with the given On Error Resume Next statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.OnesComplement)">
            <summary>
            Performs some computation with the given one's complement expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.OptionDeclaration)">
            <summary>
            Performs some computation with the given option declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.OutArgument)">
            <summary>
            Performs some computation with the given out argument expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ParameterDeclaration)">
            <summary>
            Performs some computation with the given parameter declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Parenthesis)">
            <summary>
            Performs some computation with the given parenthesis expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PointerTypeExpression)">
            <summary>
            Performs some computation with the given pointer type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PopulateCollection)">
            <summary>
            Performs some computation with the given collection population expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Postcondition)">
            <summary>
            Performs some computation with the given postcondition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PostfixDecrement)">
            <summary>
            Performs some computation with the given postfix decrement expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PostfixIncrement)">
            <summary>
            Performs some computation with the given postfix increment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Precondition)">
            <summary>
            Performs some computation with the given precondition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PrefixDecrement)">
            <summary>
            Performs some computation with the given prefix decrement expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PrefixIncrement)">
            <summary>
            Performs some computation with the given prefix increment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PropertyDeclaration)">
            <summary>
            Performs some computation with the given property declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.PropertySetterValue)">
            <summary>
            Performs some computation with the given property setter value expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.QualifiedName)">
            <summary>
            Performs some computation with the given qualified name expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RaiseEventStatement)">
            <summary>
            Performs some computation with the given raise event statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Range)">
            <summary>
            Performs some computation with the given range expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RedimensionClause)">
            <summary>
            Performs some computation with the given redimension clause.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RedimensionStatement)">
            <summary>
            Performs some computation with the given redimension statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RefArgument)">
            <summary>
            Performs some computation with the given ref argument expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ReferenceEquality)">
            <summary>
            Performs some computation with the given reference equality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ReferenceInequality)">
            <summary>
            Performs some computation with the given reference inequality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RemoveEventHandlerStatement)">
            <summary>
            Performs some computation with the given remove event handler statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ResumeLabeledStatement)">
            <summary>
            Performs some computation with the given resume labeled statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ResumeNextStatement)">
            <summary>
            Performs some computation with the given resume next statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ResumeStatement)">
            <summary>
            Performs some computation with the given resume statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ResourceUseStatement)">
            <summary>
            Performs some computation with the given resource use statement.
            This statement corresponds to the using(IDisposable ob = ...){...} in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RethrowStatement)">
            <summary>
            Performs some computation with the rethrow statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ReturnStatement)">
            <summary>
            Performs some computation with the return statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ReturnValue)">
            <summary>
            Performs some computation with the given return value expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RightShift)">
            <summary>
            Performs some computation with the given right shift expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RightShiftAssignment)">
            <summary>
            Performs some computation with the given right shift assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.UnsignedRightShift)">
            <summary>
            Performs some computation with the given unsigned right shift expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RootNamespaceExpression)">
            <summary>
            Performs some computation with the given root namespace expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.RuntimeArgumentHandleExpression)">
            <summary>
            Performs some computation with the given runtime argument handle expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.SignatureDeclaration)">
            <summary>
            Performs some computation with the given signature declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.SimpleName)">
            <summary>
            Performs some computation with the given simple name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.SizeOf)">
            <summary>
            Performs some computation with the given sizeof() expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Slice)">
            <summary>
            Performs some computation with the given slice expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.SourceCustomAttribute)">
            <summary>
            Performs some computation with the given source custom attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.StopStatement)">
            <summary>
            Performs some computation with the given stop statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.StringConcatenation)">
            <summary>
            Performs some computation with the given string concatenation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.Subtraction)">
            <summary>
            Performs some computation with the given subtraction expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.SubtractionAssignment)">
            <summary>
            Performs some computation with the given subtraction assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.SwitchCase)">
            <summary>
            Performs some computation with the given switch case.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.SwitchStatement)">
            <summary>
            Performs some computation with the given switch statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.TargetExpression)">
            <summary>
            Performs some computation with the given target expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ThisReference)">
            <summary>
            Performs some computation with the given this reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ThrownException)">
            <summary>
            Performs some computation with the thrown exception.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.ThrowStatement)">
            <summary>
            Performs some computation with the throw statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.TryCatchFinallyStatement)">
            <summary>
            Performs some computation with the try-catch-filter-finally statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Performs some computation with the given type declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.TypeInvariant)">
            <summary>
            Performs some computation with the given type invariant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.TypeOf)">
            <summary>
            Performs some computation with the given typeof() expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.UnaryNegation)">
            <summary>
            Performs some computation with the given unary negation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.UnaryPlus)">
            <summary>
            Performs some computation with the given unary plus expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.UncheckedExpression)">
            <summary>
            Performs some computation with the given unchecked expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.UnitSetAliasDeclaration)">
            <summary>
            Performs some computation with the given unit set alias.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.UntilDoStatement)">
            <summary>
            Performs some computation with the given until do statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.WhileDoStatement)">
            <summary>
            Performs some computation with the given while do statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.WithStatement)">
            <summary>
            Performs some computation with the given with statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.YieldBreakStatement)">
            <summary>
            Performs some computation with the given yield break statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceVisitor.Visit(Microsoft.Cci.Ast.YieldReturnStatement)">
            <summary>
            Performs some computation with the given yield return statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.#ctor">
            <summary>
            Allocates an object with methods that contains a specialized Visit routine for each standard type of object defined in this object model. 
            Each of these visit routines in turn dispatches the visitor on each of the child objects of the corresponding node.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.SourceTraverser.path">
            <summary>
            The path from the graph root to the current node being visited.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.SourceTraverser.stopTraversal">
            <summary>
            If true, the object of the traversal has been achieved and the traversal should terminate as quickly as possible.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.SourceTraverser.visitMethodBodies">
            <summary>
            If true, the traversal should include method bodies.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Addition)">
            <summary>
            Performs some computation with the given addition expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AdditionAssignment)">
            <summary>
            Performs some computation with the given addition assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AddressableExpression)">
            <summary>
            Performs some computation with the given addressable expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AddressDereference)">
            <summary>
            Performs some computation with the given address derefence expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AddressOf)">
            <summary>
            Performs some computation with the given address of expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AliasDeclaration)">
            <summary>
            Performs some computation with the given alias declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AliasQualifiedName)">
            <summary>
            Performs some computation with the given alias qualified Name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AnonymousMethod)">
            <summary>
            Performs some computation with the given anonymous method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CreateArray)">
            <summary>
            Performs some computation with the given create array expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ArrayTypeExpression)">
            <summary>
            Performs some computation with the given array type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AssertStatement)">
            <summary>
            Performs some computation with the given assert statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Assignment)">
            <summary>
            Performs some computation with the given assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AssumeStatement)">
            <summary>
            Performs some computation with the given assume statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AttributeTypeExpression)">
            <summary>
            Performs some computation with the given attribute type expression.
            </summary>
            <param name="attributeTypeExpression"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.AttachEventHandlerStatement)">
            <summary>
            Performs some computation with the given attach event handler statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BaseClassReference)">
            <summary>
            Performs some computation with the given base class reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BitwiseAnd)">
            <summary>
            Performs some computation with the given bitwise and expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BitwiseAndAssignment)">
            <summary>
            Performs some computation with the given bitwise and assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BitwiseOr)">
            <summary>
            Performs some computation with the given bitwise or expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BitwiseOrAssignment)">
            <summary>
            Performs some computation with the given bitwise or assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BlockExpression)">
            <summary>
            Performs some computation with the given block expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Performs some computation with the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Cast)">
            <summary>
            Performs some computation with the given cast expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CastIfPossible)">
            <summary>
            Performs some computation with the given cast if possible expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.CatchClause})">
            <summary>
            Performs some computation with the given catch clauses.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CatchClause)">
            <summary>
            Performs some computation with the given catch clause.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CheckedExpression)">
            <summary>
            Performs some computation with the given checked expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CheckIfInstance)">
            <summary>
            Performs some computation with the given check if instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ClearLastErrorStatement)">
            <summary>
            Performs some computation with the given clear last error statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Conversion)">
            <summary>
            Performs some computation with the given conversion.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Comma)">
            <summary>
            Performs some computation with the given comma expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Compilation)">
            <summary>
            Performs some computation with the given compilation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.CompilationPart})">
            <summary>
            Performs some computation with the given compilation parts.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CompilationPart)">
            <summary>
            Performs some computation with the given compilation part.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CompileTimeConstant)">
            <summary>
            Performs some computation with the given constant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Conditional)">
            <summary>
            Performs some computation with the given conditional expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ConditionalStatement)">
            <summary>
            Performs some computation with the given conditional statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CreateObjectInstance)">
            <summary>
            Performs some computation with the given create object instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ContinueStatement)">
            <summary>
            Performs some computation with the given continue statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CreateAnonymousObject)">
            <summary>
            Performs some computation with the given create anonymous object expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CreateDelegateInstance)">
            <summary>
            Performs some computation with the given create delegate instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CreateImplicitlyTypedArray)">
            <summary>
            Performs some computation with the given implicitly typed array create expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Documentation)">
            <summary>
            Performs some computation with the given documentation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.DocumentationAttribute})">
            <summary>
            Performs some computation with the given documentation attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.DocumentationAttribute)">
            <summary>
            Performs some computation with the given documentation attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.DocumentationElement})">
            <summary>
            Performs some computation with the given documentation elements.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.DocumentationElement)">
            <summary>
            Performs some computation with the given documentation element.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.DefaultValue)">
            <summary>
            Performs some computation with the given default value expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.DisableOnErrorHandler)">
            <summary>
            Performs some computation with the given disable on error handler expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Division)">
            <summary>
            Performs some computation with the given division expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.DivisionAssignment)">
            <summary>
            Performs some computation with the given division assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.DoUntilStatement)">
            <summary>
            Performs some computation with the given do until statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.DoWhileStatement)">
            <summary>
            Performs some computation with the given do while statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.EmptyStatement)">
            <summary>
            Performs some computation with the given empty statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.EmptyTypeExpression)">
            <summary>
            Performs some computation with the given empty type expression expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.EndStatement)">
            <summary>
            Performs some computation with the given end statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Equality)">
            <summary>
            Performs some computation with the given equality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.EraseStatement)">
            <summary>
            Performs some computation with the given erase statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ErrorStatement)">
            <summary>
            Performs some computation with the given error statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.EventDeclaration)">
            <summary>
            Performs some computation with the given event declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ExclusiveOr)">
            <summary>
            Performs some computation with the given exclusive or expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ExclusiveOrAssignment)">
            <summary>
            Performs some computation with the given exclusive or assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.BreakStatement)">
            <summary>
            Performs some computation with the given break statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Exists)">
            <summary>
            Performs some computation with the given exists expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Exponentiation)">
            <summary>
            Performs some computation with the given exponentiation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Performs some computation with the given expressions.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.VisitExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Performs some computation with the given expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ExpressionStatement)">
            <summary>
            Performs some computation with the given expression statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.FieldDeclaration)">
            <summary>
            Performs some computation with the given field declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.FixedStatement)">
            <summary>
            Performs some computation with the given fixed statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Forall)">
            <summary>
            Performs some computation with the given forall expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ForEachStatement)">
            <summary>
            Performs some computation with the given for each statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ForRangeStatement)">
            <summary>
            Performs some computation with the given for range statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ForStatement)">
            <summary>
            Performs some computation with the given for statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GenericInstanceExpression)">
            <summary>
            Performs some computation with the given generic instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.GenericMethodParameterDeclaration})">
            <summary>
            Performs some computation with the given generic method parameter declarations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GenericMethodParameterDeclaration)">
            <summary>
            Performs some computation with the given generic method parameter declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GenericTypeInstanceExpression)">
            <summary>
            Performs some computation with the given generic type instance expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Immutable.GenericTypeInstance)">
            <summary>
            Performs some computation with the given generic type instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.GenericTypeParameterDeclaration})">
            <summary>
            Performs some computation with the given generic type parameter declarations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GenericTypeParameterDeclaration)">
            <summary>
            Performs some computation with the given generic type parameter declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GetTypeOfTypedReference)">
            <summary>
            Performs some computation with the given get type of typed reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GetValueOfTypedReference)">
            <summary>
            Performs some computation with the given get value of typed reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GotoStatement)">
            <summary>
            Performs some computation with the given goto statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GotoSwitchCaseStatement)">
            <summary>
            Performs some computation with the given goto switch case statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GreaterThan)">
            <summary>
            Performs some computation with the given greater than expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.GreaterThanOrEqual)">
            <summary>
            Performs some computation with the given greater than or equal expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ImplicitQualifier)">
            <summary>
            Performs some computation with the given implicit qualifier expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Implies)">
            <summary>
            Performs some computation with the given implies expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Indexer)">
            <summary>
            Performs some computation with the given indexer.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.InitializeObject)">
            <summary>
            Performs some computation with the given initialize object expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.IntegerDivision)">
            <summary>
            Performs some computation with the given integer division expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.IsFalse)">
            <summary>
            Performs some computation with the given is false expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.IsTrue)">
            <summary>
            Performs some computation with the given is true expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LabeledStatement)">
            <summary>
            Performs some computation with the given labeled statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Lambda)">
            <summary>
            Performs some computation with the given lambda.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.LambdaParameter})">
            <summary>
            Performs some computation with the given lambda parameters.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LambdaParameter)">
            <summary>
            Performs some computation with the given lambda parameter.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LeftShift)">
            <summary>
            Performs some computation with the given left shift expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LeftShiftAssignment)">
            <summary>
            Performs some computation with the given left shift assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LessThan)">
            <summary>
            Performs some computation with the given less than expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LessThanOrEqual)">
            <summary>
            Performs some computation with the given less than or equal expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LiftedConversion)">
            <summary>
            Performs some computation with the given lifted conversion expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Like)">
            <summary>
            Performs some computation with the given like expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.LocalDeclaration})">
            <summary>
            Performs some computation with the given local declarations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LocalDeclaration)">
            <summary>
            Performs some computation with the given local declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.LocalDeclarationsStatement})">
            <summary>
            Performs some computation with the given local declarations statements.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LocalDeclarationsStatement)">
            <summary>
            Performs some computation with the given local declarations statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LockStatement)">
            <summary>
            Performs some computation with the given lock statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LogicalAnd)">
            <summary>
            Performs some computation with the given logical and expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LogicalNot)">
            <summary>
            Performs some computation with the given logical not expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LogicalOr)">
            <summary>
            Performs some computation with the given logical or expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.LoopInvariant)">
            <summary>
            Performs some computation with the given loop invariant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.MakeTypedReference)">
            <summary>
            Performs some computation with the given make typed reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Immutable.ManagedPointerType)">
            <summary>
            Performs some computation with the given managed pointer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ManagedPointerTypeExpression)">
            <summary>
            Performs some computation with the given managed pointer type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.MethodBody)">
            <summary>
            Performs some computation with the given method body.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.MethodCall)">
            <summary>
            Performs some computation with the given method call.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.MethodDeclaration)">
            <summary>
            Performs some computation with the given method declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.MethodGroup)">
            <summary>
            Performs some computation with the given method group expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Modulus)">
            <summary>
            Performs some computation with the given modulus expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ModulusAssignment)">
            <summary>
            Performs some computation with the given modulus assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Multiplication)">
            <summary>
            Performs some computation with the given multiplication expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.MultiplicationAssignment)">
            <summary>
            Performs some computation with the given multiplication assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.NamedArgument})">
            <summary>
            Performs some computation with the given named arguments.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamedArgument)">
            <summary>
            Performs some computation with the given named argument.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NameDeclaration)">
            <summary>
            Performs some computation with the given name declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamedTypeExpression)">
            <summary>
            Performs some computation with the given named type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceClassDeclaration)">
            <summary>
            Performs some computation with the given namespace class declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Performs some computation with the given unit namespace declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.VisitNamespaceDeclarationMember(Microsoft.Cci.Ast.INamespaceDeclarationMember)">
            <summary>
            Performs some computation with the given namespace declaration member.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.INamespaceDeclarationMember})">
            <summary>
            Performs some computation with the given namespace members.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceDelegateDeclaration)">
            <summary>
            Performs some computation with the given delegate declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceEnumDeclaration)">
            <summary>
            Performs some computation with the given enum declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceImportDeclaration)">
            <summary>
            Performs some computation with the given namespace import declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceInterfaceDeclaration)">
            <summary>
            Performs some computation with the given interface declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceReferenceExpression)">
            <summary>
            Performs some computation with the given namespace reference expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NamespaceStructDeclaration)">
            <summary>
            Performs some computation with the given struct declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NestedClassDeclaration)">
            <summary>
            Performs some computation with the given class declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NestedDelegateDeclaration)">
            <summary>
            Performs some computation with the given delegate declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NestedEnumDeclaration)">
            <summary>
            Performs some computation with the given enum declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NestedInterfaceDeclaration)">
            <summary>
            Performs some computation with the given interface declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NestedNamespaceDeclaration)">
            <summary>
            Performs some computation with the given nested namespace declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NestedStructDeclaration)">
            <summary>
            Performs some computation with the given struct declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NonNullTypeExpression)">
            <summary>
            Performs some computation with the given non null type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NotEquality)">
            <summary>
            Performs some computation with the given not equality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NullableTypeExpression)">
            <summary>
            Performs some computation with the given nullable type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.NullCoalescing)">
            <summary>
            Performs some computation with the given null coalescing expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.OnErrorGotoStatement)">
            <summary>
            Performs some computation with the given on error goto statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.OnErrorResumeNextStatement)">
            <summary>
            Performs some computation with the given on error resume next statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.OnesComplement)">
            <summary>
            Performs some computation with the given ones complement expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.OptionDeclaration)">
            <summary>
            Performs some computation with the given option declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.OutArgument)">
            <summary>
            Performs some computation with the given out argument.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.ParameterDeclaration})">
            <summary>
            Performs some computation with the given parameters.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ParameterDeclaration)">
            <summary>
            Performs some computation with the given parameter declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Parenthesis)">
            <summary>
            Performs some computation with the given parenthesis expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PopulateCollection)">
            <summary>
            Performs some computation with the given populate collection expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PointerTypeExpression)">
            <summary>
            Performs some computation with the given pointer type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Postcondition})">
            <summary>
            Performs some computation with the given postconditions.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Postcondition)">
            <summary>
            Performs some computation with the given postcondition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PostfixDecrement)">
            <summary>
            Performs some computation with the given postfix decrement expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PostfixIncrement)">
            <summary>
            Performs some computation with the given postfix increment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Precondition)">
            <summary>
            Performs some computation with the given postcondition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PrefixDecrement)">
            <summary>
            Performs some computation with the given prefix decrement expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PrefixIncrement)">
            <summary>
            Performs some computation with the given prefix increment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PropertyDeclaration)">
            <summary>
            Performs some computation with the given property declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.PropertySetterValue)">
            <summary>
            Performs some computation with the given property setter value expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.QualifiedName)">
            <summary>
            Performs some computation with the given qualified name expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RaiseEventStatement)">
            <summary>
            Performs some computation with the given raise event statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Range)">
            <summary>
            Performs some computation with the given range expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.RedimensionClause})">
            <summary>
            Performs some computation with the given redimension clauses.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RedimensionClause)">
            <summary>
            Performs some computation with the given redimension clause.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RedimensionStatement)">
            <summary>
            Performs some computation with the given redimension statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RefArgument)">
            <summary>
            Performs some computation with the given ref argument.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ReferenceEquality)">
            <summary>
            Performs some computation with the given reference equality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ReferenceInequality)">
            <summary>
            Performs some computation with the given reference inequality expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RemoveEventHandlerStatement)">
            <summary>
            Performs some computation with the given remove event handler statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ResourceUseStatement)">
            <summary>
            Performs some computation with the given resource use statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ResumeLabeledStatement)">
            <summary>
            Performs some computation with the given resume labeled statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ResumeNextStatement)">
            <summary>
            Performs some computation with the given resume next statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ResumeStatement)">
            <summary>
            Performs some computation with the given resume statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RethrowStatement)">
            <summary>
            Performs some computation with the given rethrow statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ReturnStatement)">
            <summary>
            Performs some computation with the given return statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ReturnValue)">
            <summary>
            Performs some computation with the given return value expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RightShift)">
            <summary>
            Performs some computation with the given right shift expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RightShiftAssignment)">
            <summary>
            Performs some computation with the given right shift assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.CreateStackArray)">
            <summary>
            Performs some computation with the given stack array create expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.StopStatement)">
            <summary>
            Performs some computation with the given stop statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.UnsignedRightShift)">
            <summary>
            Performs some computation with the given unsigned right shift expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RootNamespaceExpression)">
            <summary>
            Performs some computation with the given root namespace expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.RuntimeArgumentHandleExpression)">
            <summary>
            Performs some computation with the given runtime argument handle expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.SignatureDeclaration)">
            <summary>
            Performs some computation with the given signature declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.SimpleName)">
            <summary>
            Performs some computation with the given simple name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.SizeOf)">
            <summary>
            Performs some computation with the given size of expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Slice)">
            <summary>
            Performs some computation with the given slice expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.SourceCustomAttribute})">
            <summary>
            Performs some computation with the given source custom attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.SourceCustomAttribute)">
            <summary>
            Performs some computation with the given source custom attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Statement})">
            <summary>
            Performs some computation with the given statements.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.VisitStatement(Microsoft.Cci.Ast.Statement)">
            <summary>
            Performs some computation with the given statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.StringConcatenation)">
            <summary>
            Performs some computation with the given string concatenation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.Subtraction)">
            <summary>
            Performs some computation with the given subtraction expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.SubtractionAssignment)">
            <summary>
            Performs some computation with the given subtraction assignment expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.SwitchCase})">
            <summary>
            Performs some computation with the given switch cases.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.SwitchCase)">
            <summary>
            Performs some computation with the given switch case.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.SwitchStatement)">
            <summary>
            Performs some computation with the given switch statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.AddressableExpression})">
            <summary>
            Performs some computation with the given target expressions.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.TargetExpression)">
            <summary>
            Performs some computation with the given target expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ThisReference)">
            <summary>
            Performs some computation with the given this reference.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ThrownException)">
            <summary>
            Performs some computation with the thrown exception.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.ThrowStatement)">
            <summary>
            Performs some computation with the given throw statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.TryCatchFinallyStatement)">
            <summary>
            Performs some computation with the given try catch filter finally statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Performs some computation with the given type declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Performs some computation with the given type members.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.VisitTypeDeclarationMember(Microsoft.Cci.Ast.ITypeDeclarationMember)">
            <summary>
            Performs some computation with the given type declaration member.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.TypeExpression})">
            <summary>
            Performs some computation with the given type expressions.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.TypeInvariant)">
            <summary>
            Performs some computation with the given loop invariant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.TypeOf)">
            <summary>
            Performs some computation with the given type of expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.UnaryNegation)">
            <summary>
            Performs some computation with the given unary negation expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.UnaryPlus)">
            <summary>
            Performs some computation with the given unary plus expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.UncheckedExpression)">
            <summary>
            Performs some computation with the given unchecked expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.UnitSetAliasDeclaration)">
            <summary>
            Performs some computation with the given unit set alias declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.UntilDoStatement)">
            <summary>
            Performs some computation with the given until do statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.WhileDoStatement)">
            <summary>
            Performs some computation with the given while do statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.WithStatement)">
            <summary>
            Performs some computation with the given with statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.YieldBreakStatement)">
            <summary>
            Performs some computation with the given yield break statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.Visit(Microsoft.Cci.Ast.YieldReturnStatement)">
            <summary>
            Performs some computation with the given yield return statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceTraverser.VisitTypeExpression(Microsoft.Cci.Ast.TypeExpression)">
            <summary>
            Performs some computation with the given type expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MemberFinder.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a source traverser that finds the most nested namespace or type member that spans a given source location.
            </summary>
            <param name="locationToContain">The source location that should be contained by namespace or type member, if any, that this instance is going to try and find.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MemberFinder.VisitNamespaceDeclarationMember(Microsoft.Cci.Ast.INamespaceDeclarationMember)">
            <summary>
            If the given namespace declaration member contains the location to find, remember it in this.MostNestedContainingNamespaceDeclarationMember.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MemberFinder.VisitTypeDeclarationMember(Microsoft.Cci.Ast.ITypeDeclarationMember)">
            <summary>
            If the given type declaration member contains the location to find, remember it in this.MostNestedContainingTypeDeclarationMember.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MemberFinder.LocationToContain">
            <summary>
            The source location that should be contained by namespace or type member, if any, that this instance is going to try and find.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MemberFinder.MostNestedContainingNamespaceDeclarationMember">
            <summary>
            The most nested namespace declaration member that fully contains the location that was supplied when this instance of MemberFinder was constructed.
            May be null, in which case either no such member exists, or this visitor has not yet been dispatched on a member that contains the location.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MemberFinder.MostNestedContainingTypeDeclarationMember">
            <summary>
            The most nested type declaration member that fully contains the location that was supplied when this instance of MemberFinder was constructed.
            May be null, in which case either no such member exists, or this visitor has not yet been dispatched on a member that contains the location.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper">
            <summary>
            A class containing methods that are of general utility during semantic analysis. Some of these methods are language specific and are expected to be
            overridden in a language specific derived class. This class defaults to C# behavior for such methods.
            Unlike CompilationHelper, instances of this class are specific to a particular compilation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.#ctor(Microsoft.Cci.Ast.Compilation,System.String)">
            <summary>
            Allocates an instance of a class containing methods that are of general utility during semantic analysis. Some of these methods are language specific and are expected to be
            overridden in a language specific derived class. This class defaults to C# behavior for such methods.
            Unlike CompilationHelper, instances of this class are specific to a particular compilation.
            </summary>
            <param name="compilation">The compilation with which the resulting helper object is associated.</param>
            <param name="languageName">The language for which the methods of this helper object implement this appropriate semantics.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.#ctor(Microsoft.Cci.Ast.Compilation,Microsoft.Cci.Ast.LanguageSpecificCompilationHelper)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its associated compilation.
            </summary>
            <param name="targetCompilation">A new value for the associated compilation. This replaces template.Compilation in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.AddNullableWrapperIfNeeded(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression that adds a nullable wrapper to the value produced by the given expression, if needed.
            </summary>
            <param name="expression">The expression that results in the value to convert.</param>
            <param name="unwrappedType">The element type of of the nullable wrapper. Must be equal to this.RemoveNullableWrapper(nullableType).</param>
            <param name="type">The type of the nullable wrapper. Must be derived from the value of the type parameter.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.Conversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            Returns an expression that will convert the value of the given expression to a value of the given type.
            If conversion is not possible an instance of DummyExpression is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.Conversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,System.Boolean,System.Boolean)">
            <summary>
            Returns an expression that will convert the value of the given expression to a value of the given type.
            If no implicit conversion exists an instance of DummyExpression is returned.
            </summary>
            <param name="expression">The expression that results in the value to convert.</param>
            <param name="targetType">The type to which the expression must be converted.</param>
            <param name="allowUserDefinedConversion">True if a user defined conversion may be used to do the conversion.</param>
            <param name="isExplicitConversion">True if the conversion has an explicit source representation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ConversionExpression(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an instance of Conversion that converts the given expression to the given target type.
            This method should only be called if expression results in a type of value for which a well known built-in conversion
            exists. For example, if the expression results in a value of a reference type, then the resulting expression
            will get translated to the castclass IL instruction, whereas an expression that results in a value whose compile time type is
            a type parameter, or a value type, will get translated to a box IL instruction.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ConversionExpression(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ISourceLocation)">
            <summary>
            Returns an instance of Conversion that converts the given expression to the given target type.
            This method should only be called if expression results in a type of value for which a well known built-in conversion
            exists. For example, if the expression results in a value of a reference type, then the resulting expression
            will get translated to the castclass IL instruction, whereas an expression that results in a value whose compile time type is
            a type parameter, or a value type, will get translated to a box IL instruction.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ConversionFromAnonymousMethodToDelegate(Microsoft.Cci.Ast.AnonymousMethod,Microsoft.Cci.ITypeDefinition)">
            <summary>
            
            </summary>
            <param name="anonMethod"></param>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ConversionFromMethodGroupToDelegate(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression that will result in a delegate of the given target type, using a method from the method group represented by the given expression.
            If the given expression does not resolve to a method group, or if the method group does not include a method that matches the delegate, then an
            instance of DummyExpression is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ConversionFromMethodGroupToFunctionPointer(Microsoft.Cci.Ast.Expression,Microsoft.Cci.IFunctionPointerTypeReference)">
            <summary>
            
            </summary>
            <param name="expression"></param>
            <param name="functionPointer"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ConvertArguments(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.IParameterDefinition})">
            <summary>
            Returns a list of expressions that convert the given argument expressions to match the types of the given list of parameters.
            </summary>
            <param name="containingExpression">The expression that contains the argument list to be converted. Used when calling SetContainingExpression
            on expressions that are created for the purpose of the conversion.</param>
            <param name="arguments">A list of expressions that match parameters.</param>
            <param name="parameters">A list of parameters.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ConvertArguments(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.IParameterDefinition},System.Boolean)">
            <summary>
            Returns a list of expressions that convert the given argument expressions to match the types of the given list of parameters.
            </summary>
            <param name="containingExpression">The expression that contains the argument list to be converted. Used when calling SetContainingExpression
            on expressions that are created for the purpose of the conversion.</param>
            <param name="arguments">A list of expressions that match parameters.</param>
            <param name="parameters">A list of parameters.</param>
            <param name="allowExtraArguments">If this is true, any extra arguments that do not match parameters are appended to the result without conversion.
            This is needed when the parameters belong to a method that accepts extra arguments.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.CreateSignatureFormatter">
            <summary>
            Creates an instance of a language specific object that formats type member signatures according to the syntax of the language.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.CreateTypeNameFormatter">
            <summary>
            Creates an instance of a language specific object that formats type names according to the syntax of the language.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ExplicitConversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression that will convert the value of the given expression to a value of the given type.
            If no explicit conversion exists, a DummyExpression is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ExplicitConversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ISourceLocation)">
            <summary>
            Returns an expression that will convert the value of the given expression to a value of the given type.
            If no explicit conversion exists, a DummyExpression is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetDefaultMembers(Microsoft.Cci.ITypeDefinition)">
            <summary>
            If the type specifies a default member name, return a list of members with that name. If not, return an empty list.
            </summary>
            <param name="type">The type whose default members are wanted.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.PopulateWithDefaultMembersIncludingInheritedMembers(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.IName,System.Collections.Generic.List{Microsoft.Cci.ITypeDefinitionMember})">
            <summary>
            Add all members named memberName to the given list, starting with the local members of the given type and then recursively
            doing the same with the base classes. Do not add a member if there already is one with the same signature.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.MembersMatch(Microsoft.Cci.ITypeDefinitionMember,Microsoft.Cci.ITypeDefinitionMember)">
            <summary>
            Returns true if x and y are both properties with the same signature.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetAddressOf(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Create an expression that corresponds to the address of the parameter
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetDefaultIndexedProperties(Microsoft.Cci.ITypeDefinition)">
            <summary>
            If the type specifies a default member name, return a list of indexed properties with that name. If not, return an empty list.
            </summary>
            <param name="type">The type whose default indexed properties are wanted.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetDefaultIndexedPropertyGetters(Microsoft.Cci.ITypeDefinition)">
            <summary>
            If the type specifies a default member name, return a list of getter methods of any indexed properties with the default name. If not, return an empty list.
            </summary>
            <param name="type">The type whose default indexed property getters are wanted.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetDefaultValueFor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.IParameterDefinition)">
            <summary>
            Returns a default value to match with the given parameter. If the parameter specifies a default value, use that.
            If not, return the default value for the type of the parameter.
            </summary>
            <param name="containingExpression">The expression that contains the argument list to be converted. Used when calling SetContainingExpression
            on expressions that are created for the purpose of the conversion.</param>
            <param name="par">The parameter for which a matching default value is desired.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetExtensionMembers(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.IName,System.Boolean)">
            <summary>
            Returns any members of the given name that may be declared in another type, but that are to be found in the given
            type during lookup. For example, extension methods in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetInvokeMethod(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Gets the Invoke method from the delegate. Returns Dummy.Method if the delegate type is malformed.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetMatchingMethodFromMethodGroup(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            Returns the method from the method group represented by the given expression, which is compatible the given delegate type.
            Returns Dummy.Method if not such method can be found.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.MakeExtensionArgumentList(Microsoft.Cci.Ast.QualifiedName,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Returns dummy argument list for a static call of an extension
            method equivalent to the receiver + original argument list in
            the "dispatched-call" method call syntax.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetMethodGroupMethods(Microsoft.Cci.IMethodDefinition,System.UInt32,System.Boolean)">
            <summary>
            Returns the collection of methods with the same name as the given method and declared by the same type as the given method (or by a base type)
            and that might be called with the given number of arguments.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetMethodGroupMethods(Microsoft.Cci.IMethodDefinition,System.UInt32,System.Boolean,System.Collections.Generic.IEnumerable{Microsoft.Cci.ITypeReference})">
            <summary>
            Returns the collection of methods with the same name as the given method and declared by the same type as the given method (or by a base type)
            and that might be called with the given number of arguments.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetMethodGroupMethods(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.IName,System.UInt32,System.Boolean,System.Collections.Generic.IEnumerable{Microsoft.Cci.ITypeReference})">
            <summary>
            Returns the collection of methods with the given name and declared by the given type (or by a base type)
            and that might be called with the given number of arguments.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetMethodSignature(Microsoft.Cci.IMethodReference,Microsoft.Cci.NameFormattingOptions)">
            <summary>
            Returns a language specific string that corresponds to the given method definition and that conforms to the specified formatting options.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetParamArray(Microsoft.Cci.Ast.Expression,Microsoft.Cci.IParameterDefinition,System.Collections.Generic.IEnumerator{Microsoft.Cci.Ast.Expression})">
            <summary>
            Returns an expression that allocates a parameter array instance to match given parameter and that contains the given arguments as elements.
            </summary>
            <param name="containingExpression">The expression that contains the argument list to be converted. Used when calling SetContainingExpression
            on expressions that are created for the purpose of the conversion.</param>
            <param name="par">The parameter for which a matching parameter array instance is desired. parameter.IsParameterArray must be true.</param>
            <param name="args">The argument values, if any, that are to be the elements of the paraemter array instance. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetPointerTargetType(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Return the type that the pointer type points to
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetRelatedLocations(Microsoft.Cci.ITypeDefinitionMember)">
            <summary>
            Returns a singleton collection of locations that either provides the source location of the given
            type definition member, or provides information about the name and assembly of the containing type
            of the given member.
            </summary>
            <param name="member">A type member that is the subject of an error or warning.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetTypeName(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns a language specific string that corresponds to a source expression that would bind to the given type definition when appearing in an appropriate context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.GetTypeName(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.NameFormattingOptions)">
            <summary>
            Returns a language specific string that corresponds to a source expression that would evaluate to the given type definition when appearing in an appropriate context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitConversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression that will convert the value of the given expression to a value of the given type.
            If conversion is not possible or has to be explicit an instance of DummyExpression is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitConversionInAssignmentContext(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression that will convert the value of the given expression to a value of the given type
            when the conversion happens when assigning the expression to a variable of the target type. This is different
            than the general ImplicitConversion, which can also happen when testing method matching, which
            affect the selection of operators. 
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitConversionExists(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if an implicit conversion is available to convert the value of the given expression to a corresponding value of the given target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitConversionFromAnonymousMethodExists(Microsoft.Cci.Ast.AnonymousMethod,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if the given anonymous method expression can be implicitly converted to the given target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitConversionExists(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if an implicit conversion is available to convert a value of the given source type to a corresponding value of the given target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitConversionFromArgumentToType1isBetterThanImplicitConversionToType2(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if argument has a better implicit conversion to par1type than it has to par2Type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitConversionFromMethodGroupExists(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if the given expression represents a method group that contains a method that is compatible with the given delegate type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitNumericConversionExists(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if an implicit numeric conversion from the given source type to the given target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitStandardConversionExists(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if a standard (mostly CLR supplied) implicit conversion is available to convert a value of the given source type to a corresponding value of the given target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitTypeParameterConversionExists(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if the source type is a generic parameter with a constraint that requires its runtime value to be of a
            type that derives from the given target type or implements the given target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitUserDefinedConversionExists(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if the source type or target type defines a conversion operator that can be used to convert a value
            of the source type to a value of the target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitUserDefinedConversion(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns the most specific user defined implicit conversion operator that can be used to convert a value
            of the source type to a value of the target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.InferTypesAndReturnTrueIfInferenceFails(System.Collections.Generic.Dictionary{Microsoft.Cci.IGenericMethodParameter,Microsoft.Cci.ITypeDefinition},Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Try to unify the given argument type with the given parameter type by replacing any occurrences of type parameters in parameterType with corresponding type
            arguments obtained from inferredTypeArgumentsFor. Returns true if unification fails. Updates inferredTypeArgumentsFor with any new inferences made during
            a successful unification.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.IsMoreSpecific(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if type1 is "more specific" than type2. More specific means that type1 is less parameterized. Specifically,
            a concrete type is more specific than a type parameter. A constructed type is more specific than another constructed type
            if its type arguments are all at least as specific as the type arguments of the other type and one of the arguments is more specific.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.IsPointerType(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if the given type is to be treated as a pointer type
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.IsSwitchableType(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if the given type is one of the following: sbyte, byte, short, ushort, int, uint, long, ulong, char, string or an enum type
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.LiftedConversionExpression(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            Returns an expression that converts a nullable value of one type into a nullable value of another type. Does not unbox the source value if it is null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.MakeShallowCopyFor(Microsoft.Cci.Ast.Compilation)">
            <summary>
            Makes a shallow copy of this helper instance, if necessary.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already associated with the given compilation this
            method just returns the instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.Method1HasMoreSpecificParameterTypesThanMethod2(Microsoft.Cci.IMethodDefinition,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns true if method1 has at least one parameter with a type that is more specific (see IsMoreSpecific) than the
            type of the correponding parameter in method2. Method1 and Method2 must have the same number of parameters.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.MethodIsEligible(Microsoft.Cci.IMethodDefinition,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Returns true if the given method can be called with the given arguments, if 
            need be after applying implicit conversions and constructing a parameter array, 
            or a runtimeargumenthandle.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.MethodIsEligible(Microsoft.Cci.IMethodDefinition,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Boolean)">
            <summary>
            Returns true if the given method can be called with the given arguments, if 
            need be after applying implicit conversions and constructing a parameter array, 
            or a runtimeargumenthandle. If allowTypeMismatch is true then only the number of parameters are considered
            when deciding if method is eligible.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.Method1MatchesArgumentsBetterThanMethod2(Microsoft.Cci.IMethodDefinition,Microsoft.Cci.IMethodDefinition,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Returns true if method1 matches the given arguments better than method2 does. "Better" implies that method1 is as good a match as method 2 for every argument
            and a better match for at least one argument.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.MethodQualifiesEvenIfArgumentNumberMismatches(Microsoft.Cci.IMethodDefinition,System.UInt32,System.UInt32)">
            <summary>
            Returns true if the given method can be called with the given number of arguments 
            either because the method's last parameter is a parameter array 
            or because the method accepts extra parameter
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.NumericConversionWasPossible(Microsoft.Cci.Ast.Expression@,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            Returns true if sourceType and targetType are numeric types and an conversion from sourceType to targetType exists.
            If the method returns true, it also updates expression with an expression that will perform the numeric conversion at runtime.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ParametersAreConsistent(Microsoft.Cci.ISignature,Microsoft.Cci.ISignature)">
            <summary>
            Returns true if delegateSignature and methodSignature are contra variant in their parameter types.
            That is, each of the delegateSignature parameter types can be converted to the corresponding parameter types of methodSignature. 
            For the purpose of this method, a type is regarded as convertible to another type if there is a standard (CLR supplied) reference conversion.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ParametersMatch(Microsoft.Cci.ISignature,Microsoft.Cci.ISignature)">
            <summary>
            Returns true if signature1 and signature2 have the same number of parameters and for each parameter pair the types and mode (by ref/by value) match.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ResolveOverload(System.Collections.Generic.IEnumerable{Microsoft.Cci.IMethodDefinition},Microsoft.Cci.Ast.Expression[])">
            <summary>
            Selects the member of the given collection of methods that best matches the given arguments.
            This method is expected to have language specific behavior when invoked via an instance of a subclass of LanguageSpecificCompilationHelper.
            When invoked via an instance of a standard framework class (such as CompilationHelper), C# rules apply.
            If no the method collection is empty or if there is no single best match, Dummy.Method is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ResolveOverload(System.Collections.Generic.IEnumerable{Microsoft.Cci.IMethodDefinition},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Selects the member of the given collection of methods that best matches the given arguments.
            If the method collection is empty or none of its elements can be called with the given arguments, or if there is no single 
            best match, Dummy.Method is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ResolveOverload(System.Collections.Generic.IEnumerable{Microsoft.Cci.IMethodDefinition},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Boolean)">
            <summary>
            Selects the member of the given collection of methods that best matches the given arguments.
            If the method collection is empty or none of its elements can be called with the given arguments, or if there is no single 
            best match, Dummy.Method is returned. If allowTypeMismatches is true then a method can be returned even if the arguments
            do not match its parameters, provided that the correct number of arguments are passed and there is only one such method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.SingleCandidateWithTheGivenNumberOfArguments(System.Collections.Generic.IEnumerable{Microsoft.Cci.IMethodDefinition},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Returns the candidate method with a parameter list that could match the given argument list, if there were not type mismatches, provided 
            that there is only one such candidate. If not, returns Dummy.Method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.RemoveNullableWrapper(Microsoft.Cci.ITypeDefinition)">
            <summary>
            If the given type is an instance if System.Nullable&lt;T&gt;, return the value of T. Otherwise return the given type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ReportError(Microsoft.Cci.IErrorMessage)">
            <summary>
            Raises the CompilationErrors event with the given error wrapped up in an error event arguments object.
            </summary>
            <param name="error">The error to report.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ReportFailedArgumentConversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,System.Int32)">
            <summary>
            Reports an error stating that the type of the given expression cannot be converted to the given parameter type.
            </summary>
            <param name="expression">The expression that results in the argument value.</param>
            <param name="parameterType">The type of the parameter.</param>
            <param name="parameterIndex">The zero based index of the parameter.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ReportFailedImplicitConversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Reports an error to the effect that the given expression cannot be implicitly converted to the given type.
            Expressions that are constants as well as expressions that could have been explicitly converted are treated
            as special cases.
            </summary>
            <param name="expression">The expression that could not be converted.</param>
            <param name="targetType">The type to which the expression could not be implicitly converted.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ReportFailedMethodGroupToDelegateConversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Reports an error to the effect that the given method group expression cannot be implicitly converted to the given delegate type.
            </summary>
            <param name="expression">The expression that could not be converted. The expression should have no errors and should not have a type.</param>
            <param name="targetType">The delegate type to which the expression could not be implicitly converted.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ExpressionIsNumericLiteral(Microsoft.Cci.Ast.Expression)">
            <summary>
            Returns true if expression represents a compile time constant that can be regarded as a single numeric literal, such as -1.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ReferenceConversionMightBePossibleAtRuntime(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if a value of type sourceType might also be a value of type targetType.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ResolveIfName(Microsoft.Cci.Ast.Expression)">
            <summary>
            Resolves the given expression and returns the result.
            Always returns null if the expression is not a simple name or a qualified name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.SignaturesAreConsistent(Microsoft.Cci.ISignature,Microsoft.Cci.ISignature)">
            <summary>
            Returns true if delegateSignature and methodSignature are covariant in their return types and contra variant in their parameter types.
            That is, the return type of methodSignature can be converted to the return type of delegateSignature and each of the delegateSignature
            parameter types can be converted to the corresponding parameter types of methodSignature. For the purpose of this method, a type is
            regarded as convertible to another type if there is a standard (CLR supplied) reference conversion.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.StandardBinaryOperatorOverloadIsUndesirable(Microsoft.Cci.IMethodDefinition,Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression)">
            <summary>
            Checks if selecting this overload would cause something undesirable to happen. For example "int op uint" may become "long op long" which
            is desirable for C# but undesirable for C.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.SignBitIsSet(System.Object)">
            <summary>
            Returns true if if the given value is a primitive integer with a 1 value in its most significant bit.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.TypesAreClrAssignmentCompatible(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if a CLR supplied implicit reference conversion is available to convert a value of the given source type to a corresponding value of the given target type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.UnboxedNullable(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression that extracts the value from a nullable wrapper at runtime. The expression fails at runtime if the wrapper wraps a null value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.UninstantiateAndUnspecialize(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns the original method that has been specialized (perhaps more than once) and possibly instantiated
            to create the given method. Just returns the given method if no specialization or instantiation has occurred.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.UseCompileTimeValueOfField(Microsoft.Cci.IFieldDefinition)">
            <summary>
            Returns true if the field has (or should have) a compile time value that should be used in expressions whenever the field is referenced.
            For example, if field.IsCompileTimeConstant is true then the CLR mandates that the value should be used since the field will have no runtime memory associated with it.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.UserDefinedConversion(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            Returns an expression that invokes a user defined conversion (possibly followed by a standard conversion) to convert
            the expression from sourceType to targetType. If no user defined conversion exists, it returns an instance of DummyExpression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.UserDefinedConversion(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.IName)">
            <summary>
            Returns the most specific user defined conversion operator that can be used to convert a value
            of the source type to a value of the target type. The given conversionName determines whether an explicit or implicit conversion is returned.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.Compilation">
            <summary>
            The compilation for which this helper exists. In general, a single compilation instance can have multiple language specific compilation helpers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ImplicitEnumToIntegerConversionIsAllowed">
            <summary>
            Returns true if a value of an enumeration type can be implicitly converted to an integer type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.LanguageName">
            <summary>
            A string identifying the specific language for which this is a compilation helper.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.NameTable">
            <summary>
            A table used to intern strings used as names. This table is obtained from the host environment.
            It is mutuable, in as much as it is possible to add new names to the table.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.ReportAreYouMissingACast">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.SignatureFormatter">
            <summary>
            A language specific object that formats type member signatures according to syntax of the language.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LanguageSpecificCompilationHelper.TypeNameFormatter">
            <summary>
            A language specific object that formats type names according to syntax of the language.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LocalScopeProvider">
            <summary>
            An object that can provide information about the local scopes of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalScopeProvider.GetIteratorScopes(Microsoft.Cci.IMethodBody)">
            <summary>
            Returns zero or more local (block) scopes, each defining an IL range in which an iterator local is defined.
            The scopes are returned by the MoveNext method of the object returned by the iterator method.
            The index of the scope corresponds to the index of the local. Specifically local scope i corresponds
            to the local stored in field &lt;localName&gt;x_i of the class used to store the local values in between
            calls to MoveNext.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalScopeProvider.GetLocalScopes(Microsoft.Cci.IMethodBody)">
            <summary>
            Returns zero or more local (block) scopes into which the CLR IL operations in the given method body is organized.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalScopeProvider.GetNamespaceScopes(Microsoft.Cci.IMethodBody)">
            <summary>
            Returns zero or more namespace scopes into which the namespace type containing the given method body has been nested.
            These scopes determine how simple names are looked up inside the method body. There is a separate scope for each dotted
            component in the namespace type name. For istance namespace type x.y.z will have two namespace scopes, the first is for the x and the second
            is for the y.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalScopeProvider.GetConstantsInScope(Microsoft.Cci.ILocalScope)">
            <summary>
            Returns zero or more local constant definitions that are local to the given scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalScopeProvider.GetVariablesInScope(Microsoft.Cci.ILocalScope)">
            <summary>
            Returns zero or more local variable definitions that are local to the given scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalScopeProvider.IsIterator(Microsoft.Cci.IMethodBody)">
            <summary>
            Returns true if the method body is an iterator.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NonCachingScope`1">
            <summary>
            A collection of named members, with routines to search and maintain the collection. The search routines have linear complexity.
            Use this class when memory is at a premium and the expectation is that the scope will have a small number of members. 
            For example, a statement block scope should use this base class.
            </summary>
            <typeparam name="MemberType">The type of the members of this scope.</typeparam>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonCachingScope`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Allocates an object that is a collection of named members, with routines to search the collection. The search routines have linear complexity.
            Use this class when memory is at a premium and the expectation is that the scope will have a small number of members. 
            For example, a statement block scope should use this base class.
            </summary>
            <param name="scopeMembers">To do get rid of this parameter.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonCachingScope`1.Contains(`0)">
            <summary>
            Return true if the given member instance is a member of this scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonCachingScope`1.GetMatchingMembersNamed(Microsoft.Cci.IName,System.Boolean,Microsoft.Cci.Function{`0,System.Boolean})">
            <summary>
            Returns the list of members with the given name that also satisfy the given predicate.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonCachingScope`1.GetMatchingMembers(Microsoft.Cci.Function{`0,System.Boolean})">
            <summary>
            Returns the list of members with the given name that also satisfies the given predicate.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonCachingScope`1.GetMembersNamed(Microsoft.Cci.IName,System.Boolean)">
            <summary>
            Returns the list of members with the given name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NonCachingScope`1.Members">
            <summary>
            The collection of member instances that are members of this scope.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SourceItemWithAttributes">
            <summary>
            An object that has been derived from a portion of a source document and that can have custom attributes
            associated with it.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceItemWithAttributes.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an object that has been derived from a portion of a source document and that can have custom attributes
            associated with it.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceItemWithAttributes.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceItemWithAttributes.Attributes">
            <summary>
            Custom attributes that are to be persisted in the metadata.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SourceLocationProvider">
            <summary>
            An object that can map some kinds of ILocation objects to IPrimarySourceLocation objects.
            In this case, it primarily maps IDerivedSourceLocations and IIncludedSourceLocations to IPrimarySourceLocations.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.StatementFinder">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StatementFinder.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="locationToContain"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.StatementFinder.Visit(Microsoft.Cci.Ast.MethodDeclaration)">
            <summary>
            Performs some computation with the given method declaration.
            </summary>
            <param name="methodDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.StatementFinder.VisitStatement(Microsoft.Cci.Ast.Statement)">
            <summary>
            Performs some computation with the given statement.
            </summary>
            <param name="statement"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.StatementFinder.MostNestedStatement">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.StatementScope">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StatementScope.#ctor(Microsoft.Cci.Ast.Statement)">
            <summary>
            
            </summary>
            <param name="statement"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.StatementScope.GetStatementLabeled(Microsoft.Cci.IName,System.Boolean)">
            <summary>
            
            </summary>
            <param name="label"></param>
            <param name="ignoreCase"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.StatementScope.InitializeIfNecessary">
            <summary>
            Provides a derived class with an opportunity to lazily initialize the scope's data structures via calls to AddMemberToCache.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AstErrorMessage">
            <summary>
            Error information relating to a portion of a source document. This class is used for errors reported by the AST base classes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AstErrorMessage.#ctor(Microsoft.Cci.Ast.ISourceItem,Microsoft.Cci.Ast.Error,System.String[])">
            <summary>
            Allocates an object providing error information relating to a portion of a source document.
            </summary>
            <param name="sourceItem">The source item to which the error applies.</param>
            <param name="error">An enumeration code that corresponds to this error. The enumeration identifier is used as the message key and the enumeration value is used as the code.</param>
            <param name="messageArguments">Zero or more strings that are to be substituted for "{i}" sequences in the message string return by GetMessage.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AstErrorMessage.#ctor(Microsoft.Cci.Ast.ISourceItem,Microsoft.Cci.Ast.Error,System.Collections.Generic.IEnumerable{Microsoft.Cci.ILocation},System.String[])">
            <summary>
            Allocates an object providing error information relating to a portion of a source document.
            </summary>
            <param name="sourceItem">The source item to which the error applies.</param>
            <param name="error">An enumeration code that corresponds to this error. The enumeration identifier is used as the message key and the enumeration value is used as the code.</param>
            <param name="relatedLocations">Zero ore more locations that are related to this error.</param>
            <param name="messageArguments">Zero or more strings that are to be substituted for "{i}" sequences in the message string return by GetMessage.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AstErrorMessage.#ctor(Microsoft.Cci.ISourceLocation,System.Int64,System.String,System.Collections.Generic.IEnumerable{Microsoft.Cci.ILocation},System.String[])">
            <summary>
            Allocates an object providing error information relating to a portion of a source document.
            </summary>
            <param name="sourceLocation">The location of the error in the source document.</param>
            <param name="errorCode">A code that corresponds to this error. This code is the same for all cultures.</param>
            <param name="messageKey">A string that is used as the key when looking for the localized error message using a resource manager.</param>
            <param name="relatedLocations">Zero ore more locations that are related to this error.</param>
            <param name="messageArguments">Zero or more strings that are to be substituted for "{i}" sequences in the message string return by GetMessage.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AstErrorMessage.MakeShallowCopy(Microsoft.Cci.ISourceDocument)">
            <summary>
            Makes a copy of this error message, changing only Location and SourceLocation to come from the
            given source document. Returns the same instance if the given source document is the same
            as this.SourceLocation.SourceDocument.
            </summary>
            <param name="targetDocument">The document to which the resulting error message must refer.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.AstErrorMessage.ErrorReporter">
            <summary>
            The object reporting the error. This can be used to filter out errors coming from non interesting sources.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AstErrorMessage.ErrorReporterIdentifier">
            <summary>
            A short identifier for the reporter of the error, suitable for use in human interfaces. For example "CS" in the case of a C# language error.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AstErrorMessage.IsWarning">
            <summary>
            True if the error message should be treated as an informational warning rather than as an indication that the associated
            compilation has failed and no useful executable output has been generated. The value of this property does
            not depend solely on this.Code but can be influenced by compiler options such as the csc /warnaserror option.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AstErrorMessage.Message">
            <summary>
            A description of the error suitable for user interaction. Localized to the current culture.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Error">
            <summary>
            An enumeration of errors that are reported by the AST base classes.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NotAnError">
            <summary>
            A placeholder to indicate no error.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.AliasNotFound">
            <summary>
            Alias '{0}' not found.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.AmbiguousCall">
            <summary>
            The call is ambiguous between the following methods or properties: '{0}' and '{1}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.AssignmentLeftHandValueExpected">
            <summary>
            The left-hand side of an assignment must be a variable, property or indexer.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadArgumentTypes">
            <summary>
            The best overloaded method match for '{0}' has some invalid arguments.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadArgumentType">
            <summary>
            Argument '{0}': cannot convert from '{1}' to '{2}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadBinaryOperation">
            <summary>
            Operator '{0}' cannot be applied to operands of type '{1}' and '{2}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadExternAlias">
            <summary>
            The extern alias '{0}' was not specified in a /reference option.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadNumberOfArguments">
            <summary>
            No overload for method '{0}' takes '{1}' arguments.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadReferenceCompareLeft">
            <summary>
            Possible unintended reference comparison; to get a value comparison, cast the left hand side to type '{0}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadReferenceCompareRight">
            <summary>
            Possible unintended reference comparison; to get a value comparison, cast the right hand side to type '{0}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadReturnType">
            <summary>
            '{0}' has the wrong return type.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadUnaryOperation">
            <summary>
            Operator '{0}' cannot be applied to operand of type '{1}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BadUseOfSymbol">
            <summary>
            '{0}' is a '{1}' but is used like a '{2}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.BatchFileNotRead">
            <summary>
            Could not read option batch file '{0}'. {1}
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.CannotCallNonMethod">
            <summary>
            '{0}' is not a method and cannot be called.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.CantInferMethTypeArgs">
            <summary>
            The type arguments for method '{0}' cannot be inferred from the usage. Try specifying the type arguments explicitly.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ConstInReadsOrWritesClause">
            <summary>
            Constant value '{0}' in reads/writes clause is meaningless; this is probably not what you wanted.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ConstOutOfRange">
            <summary>
            Constant value '{0}' cannot be converted to a '{1}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ConstOutOfRangeChecked">
            <summary>
            Constant value '{0}' cannot be converted to a '{1}' (use 'unchecked' syntax to override).
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.DuplicateResponseFile">
            <summary>
            Response file '{0}' included multiple times.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ExplicitSizeDoesNotMatchInitializer">
            <summary>
            Explicit array size {0} does not match array initializer dimension {1}.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ExpressionHasSideEffect">
            <summary>
            Evaluating this expression has the side effect of modifying memory, which is not permitted in this context.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ExpressionStatementHasNoSideEffect">
            <summary>
            The expression '{0}' has no side effect; expected operation with side effect.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ExtensionMethodsOnlyInStaticClass">
            <summary>
            Extension methods can only be defined on static, non-nested classes
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ExtensionMethodsOnlyInNonGenericClass">
            <summary>
            Extension methods can only be defined on static, non-generic classes
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.InaccessibleTypeMember">
            <summary>
            '{0}' is inaccessible due to its protection level.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.InitializerCountInconsistent">
            <summary>
            This initializer element count {1} is different from count {0} in first element.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.InvalidCodePage">
            <summary>
            Code page '{0}' is invalid or not installed.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.InvalidCompilerOption">
            <summary>
            Invalid option: '{0}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.InvalidFileOrPath">
            <summary>
            Error while accessing file or path '{0}' - {1}
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.IsBinaryFile">
            <summary>
            '{0}' is a binary file instead of a source code file.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.LabelNotFound">
            <summary>
            Label '{0}' can not be found within the scope of the goto statement.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.MustBeConstInt">
            <summary>
            Array sizes must be int32 constants if an initializer is supplied.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NameNotInContext">
            <summary>
            The name '{0}' does not exist in the current context.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoExplicitConversion">
            <summary>
            Cannot convert type '{0}' to '{1}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoImplicitConvCast">
            <summary>
            Cannot implicitly convert type '{0}' to '{1}'. An explicit conversion exists (are you missing a cast?)
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoImplicitConversion">
            <summary>
            Cannot implicitly convert type '{0}' to '{1}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoImplicitConversionForValue">
            <summary>
            Cannot implicitly convert value '{0}' to type '{1}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoMatchingOverload">
            <summary>
            No overload for '{1}' matches delegate '{0}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoSourceFiles">
            <summary>
            No source files to compile.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoSuchFile">
            <summary>
            File '{0}' does not exist.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.NoSuchMember">
            <summary>
            '{0}' does not contain a definition for '{1}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ObjectProhibited">
            <summary>
            Static member '{0}' cannot be accessed with an instance reference; qualify it with a type name instead.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ObjectRequired">
            <summary>
            An object reference is required for the nonstatic field, method, or property '{0}'.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.OutParameterReferenceNotAllowedHere">
            <summary>
            Reference to out parameter '{0}' not allowed in this context.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.PointerExpected">
            <summary>
            The * or -&gt; operator must be applied to a pointer.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.PotentialUnintendRangeComparison">
            <summary>
            '{0}' probably does not express what you intended; use two conjoined conditions to express an interval or parenthesize the {1} comparison.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.SingleTypeNameNotFound">
            <summary>
            The type or namespace name '{0}' could not be found (are you missing a using directive or an assembly reference?)
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.SourceFileNotRead">
            <summary>
            Source file '{0}' could not be read. {1}.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.SourceFileTooLarge">
            <summary>
            Source file '{0}' is too large to be compiled.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.CannotTakeAddress">
            <summary>
            Cannot take the address of the given expression.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.CannotInferTypeOfConditional">
            <summary>
            Type of conditional expression cannot be determined.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.CannotInferTypeOfConditionalDueToAmbiguity">
            <summary>
            Type of conditional expression cannot be determined because there are implicit conversions between '{0}' and '{1}'; try adding an explicit cast to one of the arguments.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.UndefinedOperationOnVoidPointers">
            <summary>
            The operation in question is undefined on void pointers.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.WrongNumberOfArgumentsInConstructorCall">
            <summary>
            {0} does not contain a constructor with {1} arguments.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.IllegalUseOfType">
            <summary>
            '{0}' : illegal use of type '{1}'.	
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.TypeNameNotFound">
            <summary>
            The type or namespace name '{1}' does not exist in the namespace '{0}' (are you missing an assembly reference?)
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Error.ToBeDefined">
            <summary>
            Not an actual error message, but a convenient place holder during development.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Addition">
            <summary>
            An expression that adds or concatenates the value of the left operand to the value of the right operand. When overloaded, this expression corresponds to a call to op_Addition.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BinaryOperation">
            <summary>
            A binary operation performed on a left and right operand.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Expression">
            <summary>
            An expression results in a value of some type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Use this constructor when allocating a new expression. Do not give out the resulting instance to client code before
            calling SetContainingExpression to finish initialization of the expression.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.#ctor(System.Object,Microsoft.Cci.ISourceLocation)">
            <summary>
            Use this constructor when allocating a new expression. Do not give out the resulting instance to client code before
            calling SetContainingExpression to finish initialization of the expression.
            </summary>
            <param name="value">The compile time value of the expression. Can be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Use this constructor to make an expression that is already initialized with its containing block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Expression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied expression. This should be different from the containing block of the template expression.</param>
            <param name="template">The expression to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.#ctor(Microsoft.Cci.Ast.BlockStatement,System.Object,Microsoft.Cci.Ast.Expression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied expression. This should be different from the containing block of the template expression.</param>
            <param name="value">The compile time value of the expression. Can be null.</param>
            <param name="template">The expression to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the item or a constituent part of the item.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.CopyExpressions``1(System.Collections.Generic.IEnumerable{``0},Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Returns a new read only list that contains copies of the elements of the given collection of expressions, where each element
            expression has been copied by call Expression.MakeCopyFor, using the given containingBlock.
            </summary>
            <typeparam name="T">The type of expression.</typeparam>
            <param name="collection">A collection of expressions to be copied.</param>
            <param name="containingBlock">The containing block that the copied expressions must get.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.CreateInitializedLocalDeclarationAndAddDeclarationsStatementToList(Microsoft.Cci.Ast.Expression,System.Collections.Generic.List{Microsoft.Cci.Ast.Statement})">
            <summary>
            Creates a temporary variable that is initialized with the given value and adds a corresponding declaration statement to the given statement list.
            Returns the variable definition.
            </summary>
            <param name="initialValue">The value to store the temporary variable.</param>
            <param name="statements">The statement list to which the declaration for the temporary will be added.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls this.ProjectAsIExpression().Dispatch(visitor).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.FactoredExpression">
            <summary>
            Either returns this expression, or returns a BlockExpression that assigns each subexpression to a temporary local variable
            and then evaluates an expression that is the same as this expression, but which refers to the temporaries rather than the 
            factored out subexpressions. This transformation is useful when expressing the semantics of operation assignments and increment/decrement operations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.GetAsConstant">
            <summary>
            Returns an instance of the CompileTimeConstant that represents the same source location as this value. 
            this.Value must be non null.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.ProjectAsIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.ProjectAsIMetadataExpression">
            <summary>
            Returns an object that implements IMetadataExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and suitable for direct use in metadata.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Expression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.ContainingBlock">
            <summary>
            The block in which the expression is nested.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.Compilation">
            <summary>
            The compilation that contains this expression.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if this expression is a constant positive integer that could also be interpreted as a negative integer.
            For example, 0x80000000, could also be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.CouldBeInterpretedAsUnsignedInteger">
            <summary>
            True if this expression is a constant negative integer that could also be interpreted as a unsigned integer.
            For example, 1 &lt;&lt; 31 could also be interpreted as a convenient way of writing 0x80000000.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.EmptyCollection">
            <summary>
            An empty collection of expressions.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.IsPure">
            <summary>
            Gets a value indicating whether this instance is pure.
            </summary>
            <value><c>true</c> if this instance is pure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.Helper">
            <summary>
            A language specific helper class containing methods that are of general utility for semantic analysis.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.NameTable">
            <summary>
            A table used to intern strings used as names. This table is obtained from the host environment.
            It is mutuable, in as much as it is possible to add new names to the table.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Expression.Value">
            <summary>
            The compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a binary operation performed on a left and right operand.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BinaryOperation)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.GetBinaryBadOperandsTypeErrorMessage">
            <summary>
            Returns an error message stating that the operands of this operation are not of the right type for the operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.GetCombinedOperators(System.Collections.Generic.IEnumerable{Microsoft.Cci.IMethodDefinition},System.Collections.Generic.IEnumerable{Microsoft.Cci.IMethodDefinition})">
            <summary>
            Returns an enumeration of the methods in operators1 followed by the methods in operators2.
            </summary>
            <param name="operators1">An enumeration of methods corresponding to operators that have an operand of type this.LeftOperand.Type.</param>
            <param name="operators2">An enumeration of methods corresponding to operators that have an operand of type this.RightOperand.Type.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.GetOperatorMethods(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an enumeration of methods that overload this operator. 
            If no user defined methods exists, it returns a list of dummy methods that correspond to operators built into IL.
            </summary>
            <param name="leftType">The type of the left hand operand.</param>
            <param name="rightType">The type of the right hand operand.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.GetUserDefinedOperators(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an enumeration of user defined methods that overload this operator. 
            </summary>
            <param name="leftType">The type of the left hand operand.</param>
            <param name="rightType">The type of the right hand operand.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.GetUserDefinedOperators(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an enumeration of user defined methods that overload this operator, defined by the given type or one of its base classes.
            </summary>
            <param name="type">The type whose user defined operator methods should be searched.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.GetNonDerivedUserDefinedOperators(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an enumeration of user defined methods that overload this operator, defined directly by the given type.
            </summary>
            <param name="type">The type whose user defined operator methods should be searched.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.LookForOverloadMethod">
            <summary>
            Returns the user defined operator overload method, or a dummy method corresponding to an IL operation, that best
            matches the operand types of this operation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.CreateOverloadMethodCall(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns a method call object that calls the given overloadMethod with this.LeftOperand and this.RightOperands as arguments.
            The operands are converted to the corresponding parameter types using implicit conversions.
            If overloadMethod is the Dummy.Method a DummyMethodCall is returned.
            </summary>
            <param name="overloadMethod">A user defined operator overload method or a "builtin" operator overload method, or a dummy method.
            The latter can be supplied when the expression is in error because one or both of the arguments cannot be converted the correct parameter type for a valid overload.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperation.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.ConvertedLeftOperand">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.ConvertedRightOperand">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.ResultIsUnmodifiedLeftOperand">
            <summary>
            If true, the left operand must be a target expression and the result of the binary operation is the
            value of the target expression before it is assigned the value of the operation performed on
            (right hand) values of the left and right operands.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.LeftOperand">
            <summary>
            The left operand.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.OverloadMethodCall">
            <summary>
            An expression that calls the user defined operator overload method that best matches the operand types of this operation.
            If no such method can be found, the value of this property is null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.RightOperand">
            <summary>
            The right operand.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperation.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that adds or concatenates the value of the left operand to the value of the right operand. When overloaded, this expression corresponds to a call to op_Addition.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Addition)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.CreateOverloadMethodCall(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns a method call object that calls the given overloadMethod with this.LeftOperand and this.RightOperands as arguments.
            The operands are converted to the corresponding parameter types using implicit conversions.
            If overloadMethod is the Dummy.Method a DummyMethodCall is returned.
            </summary>
            <param name="overloadMethod">A user defined operator overload method or a "builtin" operator overload method, or a dummy method.
            The latter can be supplied when the expression is in error because one or both of the arguments cannot be converted the correct parameter type for a valid overload.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAddition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Addition) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Addition.flags">
            <summary>
            Storage for boolean properties. 1=Use checked arithmetic.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.ProjectAsPointerPlusIndex(System.Collections.Generic.List{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression corresponding to ptr + index*sizeof(T) where ptr is the first element of args, index is the second
            and T is targetType, the type of element that ptr points to.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.ProjectAsIndexPlusPointer(System.Collections.Generic.List{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression corresponding to index*sizeof(T) + ptr where index is the first element of args, ptr is the second
            and T is targetType, the type of element that ptr points to.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Addition.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Addition.CheckOverflow">
            <summary>
            The addition must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Addition.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.Addition.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Addition.TreatOperandsAsUnsignedIntegers">
            <summary>
            If true the operands must be integers and are treated as being unsigned for the purpose of the addition. This only makes a difference if CheckOverflow is true as well.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Addition.PointerAddition.ResultIsUnmodifiedLeftOperand">
            <summary>
            If true, the left operand must be a target expression and the result of the binary operation is the
            value of the target expression before it is assigned the value of the operation performed on
            (right hand) values of the left and right operands.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Addition.PointerAddition.TreatOperandsAsUnsignedIntegers">
            <summary>
            If true the operands must be integers and are treated as being unsigned for the purpose of the addition. This only makes a difference if CheckOverflow is true as well.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AdditionAssignment">
            <summary>
            An expression that adds or concatenates the value of the left operand with the value of the right operand.
            The result of the expression is assigned to the left operand, which must be a target expression.
            Both operands must be primitives types.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BinaryOperationAssignment">
            <summary>
            A binary operation performed on a left and right operand, with the result being assigned to the left operand, which must be a target expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a binary operation performed on a left and right operand, with the result being assigned to the left operand, which must be a target expression.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BinaryOperationAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a binary expression with the given left operand and this.RightOperand, using the appropriate operator for this expression.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.CreateConvertedBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a binary expression with the given left operand and this.RightOperand, using the appropriate operator for this expression.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            If the resulting expression involves a predefined operator and results in a type that is not implicitly convertible to leftOperand.Type
            but this.RightOperand.Type is implicitly convertible to leftOperand.Type and there is an explicit conversion from the resulting value to 
            leftOperand.Type, then the resulting expression is first wrapped with an explicit conversion to leftOperand.Type.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BinaryOperationAssignment.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperationAssignment.LeftOperand">
            <summary>
            The left operand and assignment target.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperationAssignment.RightOperand">
            <summary>
            The right operand.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BinaryOperationAssignment.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdditionAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that adds or concatenates the value of the left operand with the value of the right operand.
            The result of the expression is assigned to the left operand, which must be a target expression.
            Both operands must be primitives types.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdditionAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AdditionAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdditionAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AdditionAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdditionAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdditionAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates an addition expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.AddressableExpression">
            <summary>
            An expression that denotes a value that has an address in memory, such as a local variable, parameter, field, array element, pointer target, or method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LeftHandExpression">
            <summary>
            An expression that can have its address taken, or that can appear on the left hand side of an assignment statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates an expression that can have its address taken, or that can appear on the left hand side of an assignment statement.
            </summary>
            <param name="expression">An expression that is expected to denote a value that has an address in memory, or that can be assigned to.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that can have its address taken, or that can appear on the left hand side of an assignment statement.
            </summary>
            <param name="expression">An expression that is expected to denote a value that has an address in memory, or that can be assigned to.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated target expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LeftHandExpression)">
            <summary>
            Allocates an expression that can have its address taken, or that can appear on the left hand side of an assignment statement.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.CheckForErrorsAndReturnTrueIfAnyAreFound(System.Boolean,System.Boolean)">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.ReportError">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.GetAddressOfForInstance(Microsoft.Cci.Ast.Expression)">
            <summary>
            Create and expression that represents the address of the instance
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.Resolve">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftHandExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftHandExpression.Definition">
            <summary>
            The local variable, parameter, field, array element, pointer target or method that this expression denotes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftHandExpression.Expression">
            <summary>
            An expression that is expected to denote a value that has an address in memory.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftHandExpression.Instance">
            <summary>
            If the instance to be used with an instance field or the array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftHandExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates an expression that denotes a value that has an address in memory, such as a local variable, parameter, field, array element, pointer target, or method.
            </summary>
            <param name="expression">An expression that is expected to denote a value that has an address in memory.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that denotes a value that has an address in memory, such as a local variable, parameter, field, array element, pointer target, or method.
            </summary>
            <param name="expression">The expression that is used as the target of an explicit or implicit assignment.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated target expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AddressableExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.Resolve">
            <summary>
            Resolves this instance.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAddressableExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AddressableExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressableExpression.ReportError">
            <summary>
            Reports the error.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressableExpression.Definition">
            <summary>
            The local variable, parameter, field, array element, pointer target or method that this expression denotes.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AttributeTypeExpression">
            <summary>
            An expression that refers to an attribute type by specificing the type name, possibly missing the "Attribute" suffix.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamedTypeExpression">
            <summary>
            An expression that refers to a type by specifying the type name.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeExpression">
            <summary>
            An expression that denotes a type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an expression that denotes a type.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.For(Microsoft.Cci.ITypeReference)">
            <summary>
            Returns a type expression that has a dummy source location and that resolves back to the given type definition.
            This useful for constructing AST nodes that do not correspond directly to source text. Not expected to be used by a parser.
            </summary>
            <param name="typeReference">A reference to the type to which the type expression must resolve.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.Resolve">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.Resolve(System.Int32)">
            <summary>
            Resolves the expression as a type with the given number of generic parameters. If expression cannot be resolved, a dummy type is returned. 
            If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
            <param name="numberOfTypeParameters">The number of generic parameters the resolved type must have. This number must be greater than or equal to zero.</param>
            <returns>The resolved type if there is one, or Dummy.Type.</returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeExpression.ResolvedType">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeExpression.TypeExpressionWrapper">
            <summary>
            A type expression that has a dummy source location and that resolves back to a given type definition.
            This useful for constructing AST nodes that do not correspond directly to source text. Not expected to be used by a parser.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.TypeExpressionWrapper.#ctor(Microsoft.Cci.ITypeReference)">
            <summary>
            Allocates type expression that has a dummy source location and that resolves back to a given type definition.
            This useful for constructing AST nodes that do not correspond directly to source text. Not expected to be used by a parser.
            </summary>
            <param name="typeReference">A reference to the type to which the type expression must resolve.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.TypeExpressionWrapper.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TypeExpression.TypeExpressionWrapper)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeExpression.TypeExpressionWrapper.typeReference">
            <summary>
            A reference to the type to which the type expression must resolve.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.TypeExpressionWrapper.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeExpression.TypeExpressionWrapper.Resolve">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates an expression that refers to a type by specifying the type name.
            </summary>
            <param name="expression">An expression that names a type. 
            Must be an instance of SimpleName, QualifiedName or AliasQualifiedName.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NamedTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(NamedTypeExpression).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.Resolve">
            <summary>
            Resolves the expression as a non generic type. If expression cannot be resolved, a dummy type is returned. 
            If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.Resolve(System.Int32)">
            <summary>
            Resolves the expression as a type with the given number of generic parameters. 
            If expression cannot be resolved an error is reported and a dummy type is returned. 
            If the expression is ambiguous (resolves to more than one type) an error is reported and the first matching type is returned.
            </summary>
            <param name="numberOfTypeParameters">The number of generic parameters the resolved type must have. This number must be greater than or equal to zero.</param>
            <returns>The resolved type if there is one, or Dummy.Type.</returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.Resolve(System.Object,System.Int32)">
            <summary>
            Uses the given resolved expression to select a type with the given number of generic parameters.
            If the resolved expression is not a type or type group, or if the type does not have the required number of generic parameters, or if the type group
            does not include such a type, it reports an error and returns Dummy.Type.
            </summary>
            <param name="resolvedExpression">The resolved (compile time) value of an expression that is expected to resolve to a type.</param>
            <param name="numberOfTypeParameters">The number of generic parameters the resolved type must have. This number must be greater than or equal to zero.</param>
            <returns>The resolved type if there is one, or Dummy.Type.</returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a NamedTypeExpression before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeExpression.Expression">
            <summary>
            An expression that incorporates a type name. 
            Will be an instance of SimpleName, QualifiedName or AliasQualifiedName.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates an expression that refers to an attribute type by specificing the type name, possibly missing the "Attribute" suffix.
            </summary>
            <param name="expression">An expression that names a type. 
            Must be an instance of SimpleName, QualifiedName or AliasQualifiedName.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AttributeTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(AttributeTypeExpression).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.Resolve">
            <summary>
            Resolves the expression as a non generic type. If expression cannot be resolved, a dummy type is returned. 
            If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.ResolveSimpleName(Microsoft.Cci.Ast.SimpleName,System.Boolean)">
            <summary>
            
            </summary>
            <param name="simpleName"></param>
            <param name="mayAppendSuffix"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.ResolveQualifiedName(System.Object,Microsoft.Cci.Ast.SimpleName)">
            <summary>
            
            </summary>
            <param name="qualifier"></param>
            <param name="simpleName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.ResolveQualifiedName(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.Ast.SimpleName)">
            <summary>
            
            </summary>
            <param name="qualifyingType"></param>
            <param name="simpleName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttributeTypeExpression.ResolveQualifiedName(Microsoft.Cci.INamespaceDefinition,Microsoft.Cci.Ast.SimpleName)">
            <summary>
            
            </summary>
            <param name="nspace"></param>
            <param name="simpleName"></param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Ast.TargetExpression">
            <summary>
            An expression that can be the target of an assignment statement or that can be passed an argument to an out parameter.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates an expression that can be the target of an assignment statement or that can be passed an argument to an out parameter.
            </summary>
            <param name="expression">An expression that is expected to denote a value that has an address in memory.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that can be the target of an assignment statement or that can be passed an argument to an out parameter.
            </summary>
            <param name="expression">The expression that is used as the target of an explicit or implicit assignment.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated target expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TargetExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.Resolve">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ITargetExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(TargetExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TargetExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TargetExpression.Alignment">
            <summary>
            If Definition is a field and the field is not aligned with natural size of its type, this property specifies the actual alignment.
            For example, if the field is byte aligned, then the result of this property is 1. Likewise, 2 for word (16-bit) alignment and 4 for
            double word (32-bit alignment). 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TargetExpression.Definition">
            <summary>
            The local variable, parameter, field, property, array element or pointer target that this expression denotes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TargetExpression.GetterIsVirtual">
            <summary>
            If true, the resolved definition is a property whose getter is virtual.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TargetExpression.SetterIsVirtual">
            <summary>
            If true, the resolved definition is a property whose setter is virtual.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TargetExpression.IsUnaligned">
            <summary>
            True if the definition is a field and the field is not aligned with the natural size of its type.
            For example if the field type is Int32 and the field is aligned on an Int16 boundary.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TargetExpression.IsVolatile">
            <summary>
            The bound Definition is a volatile field and its contents may not be cached.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AddressOf">
            <summary>
            An expression that takes the address of a target expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.#ctor(Microsoft.Cci.Ast.AddressableExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that takes the address of a target expression.
            </summary>
            <param name="address">An expression that represents an addressable location in memory.</param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.#ctor(Microsoft.Cci.Ast.AddressableExpression,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that takes the address of a target expression.
            </summary>
            <param name="address">An expression that represents an addressable location in memory.</param>
            <param name="objectControlsMutability">
            If true, the address can only be used in operations where defining type of the addressed
            object has control over whether or not the object is mutated. For example, a value type that
            exposes no public fields or mutator methods cannot be changed using this address.
            </param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AddressOf)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAddressOf) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AddressOf) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressOf.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressOf.Address">
            <summary>
            An expression that represents an addressable location in memory.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressOf.ObjectControlsMutability">
            <summary>
            If true, the address can only be used in operations where defining type of the addressed
            object has control over whether or not the object is mutated. For example, a value type that
            exposes no public fields or mutator methods cannot be changed using this address.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressOf.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AddressDereference">
            <summary>
            An expression that deferences an address (pointer).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that deferences an address (pointer).
            </summary>
            <param name="address">The address to dereference.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AddressDereference)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAddressDereference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AddressDeference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.FactoredExpression">
            <summary>
            Either returns this expression, or returns a BlockExpression that assigns each subexpression to a temporary local variable
            and then evaluates an expression that is the same as this expression, but which refers to the temporaries rather than the 
            factored out subexpressions. This transformation is useful when expressing the semantics of operation assignments and increment/decrement operations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AddressDereference.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressDereference.Address">
            <summary>
            The address to dereference.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressDereference.Alignment">
            <summary>
            If the addres to dereference is not aligned with the size of the target type, this property specifies the actual alignment.
            For example, a value of 1 specifies that the pointer is byte aligned, whereas the target type may be word sized.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressDereference.IsUnaligned">
            <summary>
            True if the address is not aligned to the natural size of the target type. If true, the actual alignment of the
            address is specified by this.Alignment.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressDereference.IsVolatile">
            <summary>
            The location at Address is volatile and its contents may not be cached.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AddressDereference.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AdhocProperty">
            <summary>
            vb
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdhocProperty.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="qualifier"></param>
            <param name="nameExpression"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdhocProperty.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AdhocProperty)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdhocProperty.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AdhocProperty) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdhocProperty.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdhocProperty.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdhocProperty.Resolve">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AdhocProperty.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AdhocProperty.NameExpression">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AdhocProperty.Qualifier">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AdhocProperty.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AnonymousDelegate">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ISignatureDeclaration">
            <summary>
            The parameters and return type that makes up a method or property signature.
            This interface models the source representation of a signature.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ISignatureDeclaration.Parameters">
            <summary>
            The parameters forming part of this signature.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ISignatureDeclaration.Type">
            <summary>
            An expression that denotes the return type of the method or type of the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ISignatureDeclaration.SignatureDefinition">
            <summary>
            The symbol table object that represents the metadata for this signature.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousDelegate.#ctor(Microsoft.Cci.Ast.AnonymousMethod,Microsoft.Cci.ITypeDefinition)">
            <summary>
            
            </summary>
            <param name="anonymousMethod"></param>
            <param name="delegateType"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousDelegate.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousDelegate.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAnonymousDelegateExpression).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousDelegate.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousDelegate.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
            <param name="containingBlock"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousDelegate.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousDelegate.Body">
            <summary>
            A block of statements providing the implementation of the anonymous method that is called by the delegate that is the result of this expression.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousDelegate.IsStatic">
            <summary>
            True if the referenced method or property does not require an instance of its declaring type as its first argument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousDelegate.Parameters">
            <summary>
            The parameters this anonymous method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousDelegate.ReturnType">
            <summary>
            The return type of the delegate.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousDelegate.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.AnonymousMethod">
            <summary>
            An expression that defines an anonymous method and that evaluates to a method group containing just the defined method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.ParameterDeclaration},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that defines an anonymous method and that evaluates to a method group containing just the defined method.
            </summary>
            <param name="parameters">The parameters of this anonymous method.</param>
            <param name="body">A block of statements providing the implementation of this anonymous method.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AnonymousMethod)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AnonymousMethod) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AnonymousMethod.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.Body">
            <summary>
            A block of statements providing the implementation of this anonymous method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.Parameters">
            <summary>
            The parameters this anonymous method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.SignatureDefinition">
            <summary>
            The symbol table object that represents the metadata for this signature.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.CallingConvention">
            <summary>
            Calling convention of the signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.IsStatic">
            <summary>
            True if the referenced method or property does not require an instance of its declaring type as its first argument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.ReturnValueIsByRef">
            <summary>
            True if the return value is passed by reference (using a managed pointer).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.AnonymousMethod.ReturnValueIsModified">
            <summary>
            True if the return value has one or more custom modifiers associated with it.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.AliasQualifiedName">
            <summary>
            The name of a group of types or a nested namespace, qualified by a type or namespace alias. 
            For example an expression such as Sys::Collections in C#, where previously using Sys = System; has been defined.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression which serves a the name of a group of types or a nested namespace, qualified by a type or namespace alias. 
            For example an expression such as Sys::Collections in C#, where previously using Sys = System; has been defined.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AliasQualifiedName)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AliasQualifiedName) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this alias qualified name, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.Resolve">
            <summary>
            Returns a namespace or type group that binds to the simple name part of this using the resolved value of this.Alias as the resolution scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.ResolveAsNamespaceOrType">
            <summary>
            Returns a namespace or type that binds to the simple name part of this using the resolved value of this.Alias as the resolution scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.Resolve(Microsoft.Cci.INamespaceDefinition)">
            <summary>
            Resolve the alias qualified name, given that the alias has resolved to the given namespace definition.
            </summary>
            <param name="namespaceDefinition">The namespace definition to which this.Alias has resolved.</param>
            <returns>The namespace or type group to which this.Alias::this.SimpleName resolves to.</returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.Resolve(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Resolve the alias qualified name, given that the alias has resolved to the given type definition.
            </summary>
            <param name="typeDefinition">The type definition to which this.Alias has resolved.</param>
            <returns>The nested type group to which this.Alias::this.SimpleName resolves to.</returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.ResolveAlias">
            <summary>
            Resolves this.Alias to either a namespace definition or a type group, by looking at the alias
            definitions of them immediately enclosing namespace declaration and then proceeding outwards.
            If the alias qualified name forms part of an alias definition in the immediately enclosing namespace
            declaration, then the search proceeds directly to the next enclosing namespace declaration.
            If the alias does not resolve an error is reported and null is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasQualifiedName.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of the object. This allows bottom up parsers to construct a QualifiedName before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itslef should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AliasQualifiedName.Alias">
            <summary>
            The alias that qualifies SimpleName. I.e. the a in a::b.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AliasQualifiedName.SimpleName">
            <summary>
            The name of a member of the namespace or type denoted by Alias.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AliasQualifiedName.Type">
            <summary>
            Always returns Dummy.Type since an alias qualified name can only denote a namespace or a type. Neither corresponds to a runtime value.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ArrayTypeExpression">
            <summary>
            An expression that denotes an array type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ArrayTypeExpression.#ctor(Microsoft.Cci.Ast.TypeExpression,System.UInt32,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that denotes an array type.
            </summary>
            <param name="elementType">The type of the elements of this array.</param>
            <param name="rank">The number of array dimensions.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ArrayTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ArrayTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ArrayTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ArrayTypeExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ArrayTypeExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ArrayTypeExpression.Resolve">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ArrayTypeExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ArrayTypeExpression.ElementType">
            <summary>
            The type of the elements of this array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ArrayTypeExpression.Rank">
            <summary>
            The number of array dimensions.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Assignment">
            <summary>
            An expression that assigns the value of the source (right) operand to the location represented by the target (left) operand.
            The expression result is the value of the source expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that assigns the value of the source (right) operand to the location represented by the target (left) operand.
            The expression result is the value of the source expression.
            </summary>
            <param name="target">The target of the assignment, for example simple name or a qualified name or an indexer.</param>
            <param name="source">An expression that results in a value that is to be assigned to the target.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Assignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Assignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.GetConvertedSourceExpression">
            <summary>
            Returns an expression that performs an implicit conversion of this.Source to this.Type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assignment.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assignment.ConvertedSourceExpression">
            <summary>
            An expression that performs an implicit conversion of this.Source to this.Type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assignment.Source">
            <summary>
            The expression representing the value to assign. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assignment.Target">
            <summary>
            The expression representing the target to assign to. This expression may also appear as the left operand of an IBinaryExpression instance returned by this.Source.
            In that case any sub expressions that are evaluated to obtain the value of the Source will not be re-evaluated in order to obtain the address of the variable
            represented by Target. In C#, the += operator is an example of such usage.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assignment.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BaseClassConstructorCall">
            <summary>
            An expression that invokes a base class constructor.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodCall">
            <summary>
            An expression that invokes a method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall">
            <summary>
            The common base class for calls to constructors (new foo(..)), indexers (foo[..]) and method calls (foo(...)).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Intializes the common base class for calls to constructors (new foo(..)), indexers (foo[..]) and method calls (foo(...)).
            </summary>
            <param name="arguments">The arguments to pass to the constructor, indexer or method</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ConvertArguments">
            <summary>
            Returns a list of the arguments to pass to the constructor, indexer or method, after they have been converted to 
            match the parameters of the resolved method. This call uses ApplicableArguments in case this is an extension method call.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns a collection of methods that match the name of the method/indexer to call, or that represent the
            collection of constructors for the named type.
            </summary>
            <param name="allowMethodParameterInferencesToFail">If this flag is true, 
            generic methods should be included in the collection if their method parameter types could not be inferred from the argument types.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.GetDefaultValueFor(Microsoft.Cci.IParameterDefinition)">
            <summary>
            Returns a default value to pass as an argument corresponding the the given parameter.
            If the parameter does not specify the default value to use, an instance of DefaultValue is returned.
            </summary>
            <param name="par">The parameter for which a default argument value is needed.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.GetParamArray(Microsoft.Cci.IParameterDefinition,System.Collections.Generic.IEnumerator{Microsoft.Cci.Ast.Expression})">
            <summary>
            Returns an expression that collects the remaining argument expressions produced by the given enumerator into a parameter array.
            </summary>
            <param name="par">The parameter that corresponds to the parameter array.</param>
            <param name="args">An enumerator that will produce zero or more expressions that result in values that must become part of the argument array. May be null (empty).</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.resolvedMethod">
            <summary>
            The constructor, indexer or method that is being called. Visible to derived types in order to allow 
            initialization during construction.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ResolveMethod">
            <summary>
            Uses the this.OriginalArguments and this.GetCandidateMethods to resolve the actual method to call.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ComplainedAboutArguments">
            <summary>
            Check the arguments for errors and return true if any are found.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ComplainAboutCallee">
            <summary>
            Called when the arguments are good and no type inferences have failed. This means that the callee could not be found. Complain.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ComplainedAboutFailedInferences">
            <summary>
            If the candidate methods for this call are all generic methods, pick the first one and complain that type inference has failed for it.
            Call this method only if overload resolution has failed to select a candidate method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ConvertedArguments">
            <summary>
            The arguments to pass to the constructor, indexer or method, after they have been converted to match the parameters of the resolved method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.IsVirtualCall">
            <summary>
            True if the method to call is determined at run time, based on the runtime type of ThisArgument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.OriginalArguments">
            <summary>
            The arguments to pass to the constructor, indexer or method, as they are before they have been converted to match the parameters of the resolved method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ApplicableArguments">
            <summary>
            The arguments to pass to the constructor, index or method, before conversion.
            In the case of an extension method call, these will be the static call arguments, 
            in all other cases the result is the original argument enumeration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.ResolvedMethod">
            <summary>
            The constructor, indexer or method that is being called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConstructorIndexerOrMethodCall.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that invokes a method.
            </summary>
            <param name="methodExpression">An expression that, if correct, results in a delegate or method group.</param>
            <param name="originalArguments">Expressions that result in the arguments to be passed to the called method.</param>
            <param name="sourceLocation">The source location of the call expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Initializes an expression that invokes a method that has already been resolved.
            </summary>
            <param name="methodExpression">The expression that was resolved as resolvedMethod.</param>
            <param name="originalArguments">Expressions that result in the arguments to be passed to the called method.</param>
            <param name="sourceLocation">The source location of the call expression.</param>
            <param name="resolvedMethod">The method to call.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.#ctor(Microsoft.Cci.ISourceLocation,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Initializes an expression that respresents a call to a method that has already been resolved by the time this expression is constructed.
            Only for use during projection. I.e. do not contruct this kind of expression from a parser.
            </summary>
            <param name="resolvedMethod">The resolved method to call. This method must be static.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.MethodCall)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls this.ProjectAsIExpression(visitor) unless the project is this expression, in which case it call visitor.Visit(IMethodCall).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(MethodCall) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetReferenceToMethodToCall">
            <summary>
            A reference to this.ResolvedMethod. If the method call has extra arguments, the reference is not the method itself, but
            a distinct object that includes references to the types of the extra arguments.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns a collection of methods that match this.MethodExpression.
            </summary>
            <param name="allowMethodParameterInferencesToFail">If this flag is true, 
            generic methods should be included in the collection if their method parameter types could not be inferred from the argument types.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetCandidateExtensionMethods(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Find applicable extension methods for this call, if possible.
            Precondition: this.MethodExpression must be a QualifiedName.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetInstantiatedMethodGroupMethods(Microsoft.Cci.IMethodDefinition,System.Boolean)">
            <summary>
            For each method in the group of methods defined by the given representative method, try to infer the type arguments
            from the types of the actual arguments of this call.
            Returns the intantiated versions of all methods for which type inference succeeds.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetInstantiatedMethodAfterInferringGenericArguments(Microsoft.Cci.IMethodDefinition,System.Boolean)">
            <summary>
            Try to infer the type arguments of method from the types of the actual arguments of this call.
            If the inference succeeds, return an instantiation of method with the inferred type arguments, otherwise return Dummy.Method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.InferTypesAndReturnTrueIfUnificationFails(System.Collections.Generic.Dictionary{Microsoft.Cci.IGenericMethodParameter,Microsoft.Cci.ITypeDefinition},Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Try to unify the type of the given expression with the given parameter type by replacing any occurrences of type parameters in parameterType with corresponding type
            arguments obtained from inferredTypeArgumentsFor. Returns true if unification fails. Updates inferredTypeArgumentsFor with any new inferences made during
            a successful unification.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.InferTypesAndReturnTrueIfUnificationFails(System.Collections.Generic.Dictionary{Microsoft.Cci.IGenericMethodParameter,Microsoft.Cci.ITypeDefinition},Microsoft.Cci.Ast.AnonymousMethod,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Try to unify the signature of the given anonymous method with the given parameter type by replacing any occurrences of type parameters in parameterType with corresponding type
            arguments obtained from inferredTypeArgumentsFor. Returns true if unification fails. Updates inferredTypeArgumentsFor with any new inferences made during
            a successful unification.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.InferTypesAndReturnTrueIfUnficationFails(System.Collections.Generic.Dictionary{Microsoft.Cci.IGenericMethodParameter,Microsoft.Cci.ITypeDefinition},Microsoft.Cci.Ast.Lambda,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Try to unify the signature of the given lambda with the given parameter type by replacing any occurrences of type parameters in parameterType with corresponding type
            arguments obtained from inferredTypeArgumentsFor. Returns true if unification fails. Updates inferredTypeArgumentsFor with any new inferences made during
            a successful unification.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetInstantiatedMethodGroupMethods(Microsoft.Cci.IMethodDefinition,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.TypeExpression})">
            <summary>
            For each generic method with the right number of type parameters in the group of methods defined by the given representative method return an
            instance of the method (using the given type arguments to make the instantiation).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetMethodGroupMethods(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns the collection of methods that overload the given method and might correpond to this call (based on their parameter counts). Includes inherited methods.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.GetInvokeMethod(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Gets the Invoke method from the delegate. Returns an empty collection if the delegate type is malformed.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.ResolveMethodExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Resolves the given method expression and returns the result.
            Always returns null if the method expression is not a simple name or a qualified name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.IsStoredInWritableMemory(Microsoft.Cci.Ast.Expression)">
            <summary>
            Returns true if the expression binds to a writeable memory location, such as a local, a parameter, a field
            that is not readonly, or an array element.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodCall.ComplainAboutCallee">
            <summary>
            Called when the arguments are good and no type inferences have failed. This means that the callee could not be found. Complain.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodCall.IsJumpCall">
            <summary>
            True if this method call terminates the calling method and reuses the arguments of the calling method as the arguments of the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodCall.IsStaticCall">
            <summary>
            True if the method to call is static (has no this parameter).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodCall.IsTailCall">
            <summary>
            True if this method call terminates the calling method. It indicates that the calling method's stack frame is not required
            and can be removed before executing the call.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodCall.IsVirtualCall">
            <summary>
            True if the method to call is determined at run time, based on the runtime type of ThisArgument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodCall.MethodExpression">
            <summary>
            An expression that, if correct, results in a delegate or method group.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodCall.MethodToCall">
            <summary>
            A reference to the method to call. If the method accepts extra arguments and this call supplies extra arguments,
            the reference will contain the types of the extra arguments.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodCall.ThisArgument">
            <summary>
            The this argument of the method to call.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassConstructorCall.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that invokes a base class constructor.
            </summary>
            <param name="originalArguments">Expressions that result in the arguments to be passed to the base class constructor.</param>
            <param name="sourceLocation">The source location of the call expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassConstructorCall.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.MethodCall)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassConstructorCall.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns a collection of methods that represent the the base class constructors of the declaring type of the method containing this call.
            </summary>
            <param name="allowMethodParameterInferencesToFail">Ignored.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassConstructorCall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassConstructorCall.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BaseClassConstructorCall.ThisArgument">
            <summary>
            The this argument of the base class constructor.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BaseClassReference">
            <summary>
            An expression that represents a reference to the base class instance of the current object instance. 
            Used to qualify calls to base class methods from inside overrides, and so on.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassReference.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that represents a reference to the base class instance of the current object instance. 
            Used to qualify calls to base class methods from inside overrides, and so on.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassReference.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BaseClassReference)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IThisReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassReference.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BaseClassReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassReference.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassReference.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BaseClassReference.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BaseClassReference.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BitwiseAnd">
            <summary>
            An expression that computes the bitwise and of the left and right operands. 
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseAnd.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that computes the bitwise and of the left and right operands. 
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseAnd.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BitwiseAnd)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IBitwiseAnd) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BitwiseAnd) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAnd.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BitwiseAnd.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BitwiseAnd.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BitwiseAndAssignment">
            <summary>
            An expression that computes the bitwise and of the left and right operands.
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseAnd.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAndAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that computes the bitwise and of the left and right operands.
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseAnd.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAndAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BitwiseAndAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAndAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BitwiseAndAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAndAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseAndAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a bitwise and expression using the given left Operand and this.RightOperand as the two operands.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.BitwiseOr">
            <summary>
            An expression that computes the bitwise or of the left and right operands. 
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseOr.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that computes the bitwise or of the left and right operands. 
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseOr.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BitwiseOr)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IBitwiseOr) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BitwiseOr) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOr.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BitwiseOr.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BitwiseOr.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BitwiseOrAssignment">
            <summary>
            An expression that computes the bitwise or of the left and right operands. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseOr.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOrAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            An expression that computes the bitwise or of the left and right operands. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_BitwiseOr.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOrAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BitwiseOrAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOrAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BitwiseOrAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOrAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitwiseOrAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a bitwise or expression using the given left Operand and this.RightOperand as the two operands.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.BlockExpression">
            <summary>
            An expression that introduces a new block scope and that references local variables
            that are defined and initialized by embedded statements when control reaches the expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that introduces a new block scope and that references local variables
            that are defined and initialized by embedded statements when control reaches the expression.
            </summary>
            <param name="block">
            A block of statements that typically introduce local variables to hold sub expressions.
            The scope of these declarations coincides with the block expression. 
            The statements are executed before evaluation of Expression occurs.
            </param>
            <param name="expression">The expression that computes the result of the entire block expression.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BlockExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IBlockExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BlockExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockExpression.BlockStatement">
            <summary>
            A block of statements that typically introduce local variables to hold sub expressions.
            The scope of these declarations coincides with the block expression. 
            The statements are executed before evaluation of Expression occurs.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockExpression.Expression">
            <summary>
            The expression that computes the result of the entire block expression.
            This expression can contain references to the local variables that are declared inside BlockStatement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BoundExpression">
            <summary>
            An expression that binds to a local variable, parameter or field.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BoundExpression.#ctor(Microsoft.Cci.Ast.Expression,System.Object)">
            <summary>
            Allocates an expression that binds to a local variable, parameter or field.
            </summary>
            <param name="expression">The expression that was bound.</param>
            <param name="definition">The local variable, parameter or field that this expression binds to.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BoundExpression.#ctor(Microsoft.Cci.Ast.Expression,System.Object,Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Allocates an expression that binds to a local variable, parameter or field.
            </summary>
            <param name="expression">The expression that was bound.</param>
            <param name="definition">The local variable, parameter or field that this expression binds to.</param>
            <param name="containingBlock"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BoundExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BoundExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IBoundExpression) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.BoundExpression.expression">
            <summary>
            The expression that was bound.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BoundExpression.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BoundExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BoundExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BoundExpression.Alignment">
            <summary>
            If Definition is a field and the field is not aligned with natural size of its type, this property specifies the actual alignment.
            For example, if the field is byte aligned, then the result of this property is 1. Likewise, 2 for word (16-bit) alignment and 4 for
            double word (32-bit alignment). 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BoundExpression.Definition">
            <summary>
            The local variable, parameter or field that this expression binds to.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BoundExpression.Instance">
            <summary>
            If the expression binds to an instance field then this property is not null and contains the instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BoundExpression.IsUnaligned">
            <summary>
            True if the definition is a field and the field is not aligned with the natural size of its type.
            For example if the field type is Int32 and the field is aligned on an Int16 boundary.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BoundExpression.IsVolatile">
            <summary>
            The bound Definition is a volatile field and its contents may not be cached.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BoundExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Cast">
            <summary>
            An expression that casts the value to the given type or throws an InvalidCastException.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that casts the value to the given type or throws an InvalidCastException.
            </summary>
            <param name="valueToCast">The value to cast if possible.</param>
            <param name="targetType">The type to which the value must be cast. If the value is not of this type, the expression results in a null value of this type.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Cast)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Cast) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.GetConversion">
            <summary>
            Allocates, caches and returns an expression that will convert this.ValueToCast to a value of type this.TargetType.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Cast.ToString">
            <summary>
            Returns a string representation of the expression for debugging and logging uses.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Cast.TargetType">
            <summary>
            The type to which the value must be cast. If the value is not of this type, the expression results in a null value of this type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Cast.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Cast.ValueToCast">
            <summary>
            The value to cast if possible.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CastIfPossible">
            <summary>
            An expression that casts the value to the given type, resulting in a null value if the cast does not succeed.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CastIfPossible.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that casts the value to the given type, resulting in a null value if the cast does not succeed.
            </summary>
            <param name="valueToCast">The value to cast if possible.</param>
            <param name="targetType">The type to which the value must be cast. If the value is not of this type, the expression results in a null value of this type.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CastIfPossible.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CastIfPossible)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CastIfPossible.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ICastIfPossible) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CastIfPossible.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CastIfPossible) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CastIfPossible.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CastIfPossible.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CastIfPossible.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CastIfPossible.TargetType">
            <summary>
            The type to which the value must be cast. If the value is not of this type, the expression results in a null value of this type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CastIfPossible.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CastIfPossible.ValueToCast">
            <summary>
            The value to cast if possible.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ChainedConstructorCall">
            <summary>
            An expression that invokes a different overload of the constructor containing this call.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ChainedConstructorCall.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that invokes a different overload of the constructor containing this call.
            </summary>
            <param name="originalArguments"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ChainedConstructorCall.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.MethodCall)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ChainedConstructorCall.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns a collection of methods that represent the constructors for declaring type of the constructor containing this call.
            </summary>
            <param name="allowMethodParameterInferencesToFail">This flag is ignored, since constructors cannot have generic parameters.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ChainedConstructorCall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ChainedConstructorCall.ThisArgument">
            <summary>
            The this argument of the chained constructor.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CheckedExpression">
            <summary>
            An expression that wraps an inner expression and causes the inner expression to be evaluated using arithmetic operators that check for overflow.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that wraps an inner expression and causes the inner expression to be evaluated using arithmetic operators that check for overflow.
            </summary>
            <param name="operand">The expression to evaluate while checking for arithmetic overflow.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CheckedExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CheckedExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckedExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckedExpression.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckedExpression.Operand">
            <summary>
            The value on which the operation is performed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckedExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckedExpression.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CheckIfInstance">
            <summary>
            An expression that results in true if the given operand is an instance of the given type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckIfInstance.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if the given operand is an instance of the given type.
            </summary>
            <param name="operand">The value to check.</param>
            <param name="typeToCheck">The type to which the value must belong for this expression to evaluate as true.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckIfInstance.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CheckIfInstance)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckIfInstance.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ICheckIfInstance) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckIfInstance.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CheckIfInstance) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckIfInstance.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckIfInstance.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CheckIfInstance.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckIfInstance.Operand">
            <summary>
            The value to check.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckIfInstance.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CheckIfInstance.TypeToCheck">
            <summary>
            The type to which the value must belong for this expression to evaluate as true.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Conversion">
            <summary>
            Converts a value to a given (resolved) type. Not for use by parsers.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ISourceLocation)">
            <summary>
            Converts a value to a given (resolved) type. Not for use by parsers.
            </summary>
            <param name="valueToConvert">The value to convert. Must be fully initialized.</param>
            <param name="resultType">The type to which the value is to be converted.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Conversion)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IConversion) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Conversion) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conversion.ToString">
            <summary>
            Returns a string representation of the expression for debugging and logging uses.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conversion.CheckNumericRange">
            <summary>
            If true and ValueToConvert is a number and ResultType is a numeric type, check that ValueToConvert falls within the range of ResultType and throw an exception if not.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conversion.Type">
            <summary>
            The type to which the value is to be converted.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conversion.ValueToConvert">
            <summary>
            The value to convert.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Comma">
            <summary>
            A pair of expressions. The first is evaluated for side-effects only. The value of the second expression is the value of the overall expression.
            When overloaded, this expression corresponds to a call to op_Comma.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a pair of expressions. The first is evaluated for side-effects only. The value of the second expression is the value of the overall expression.
            When overloaded, this expression corresponds to a call to op_Comma.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Comma)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Comma) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comma.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Comma.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Comma.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CompileTimeConstant">
            <summary>
            An expression that does not change its value at runtime and that can be evaluated at compile time.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Initializes an expression that does not change its value at runtime and that can be evaluated at compile time.
            </summary>
            <param name="expression">An expression with a non null Value.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.#ctor(System.Object,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an expression that does not change its value at runtime and that can be evaluated at compile time.
            </summary>
            <param name="value">The actual value of the expression. Can be null.</param>
            <param name="sourceLocation">The location in the source text of the expression that corresponds to this constant.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.#ctor(System.Object,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an expression that does not change its value at runtime and that can be evaluated at compile time.
            </summary>
            <param name="value">The actual value of the expression. Can be null.</param>
            <param name="valueIsPolymorhpicCompileTimeConstant">If false, then the expression is is numerlic literal that includes an explicit indication of the numeric type to use. For example 1.1f. </param>
            <param name="sourceLocation">The location in the source text of the expression that corresponds to this constant.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.#ctor(System.Object,System.Boolean,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an expression that does not change its value at runtime and that can be evaluated at compile time.
            </summary>
            <param name="value">The actual value of the expression. Can be null.</param>
            <param name="valueIsPolymorphicCompileTimeConstant">If false, then the expression is is numerlic literal that includes an explicit indication of the numeric type to use. For example 1.1f. </param>
            <param name="couldBeInterpretedAsNegativeSignedInteger">True if the constant is a positive integer that could be interpreted as a negative signed integer.
            <param name="sourceLocation">The location in the source text of the expression that corresponds to this constant.</param>
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.#ctor(System.Object,System.Boolean,System.Boolean,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an expression that does not change its value at runtime and that can be evaluated at compile time.
            </summary>
            <param name="value">The actual value of the expression. Can be null.</param>
            <param name="valueIsPolymorphicCompileTimeConstant">If false, then the expression is is numerlic literal that includes an explicit indication of the numeric type to use. For example 1.1f. </param>
            <param name="couldBeInterpretedAsNegativeSignedInteger">True if the constant is a positive integer that could be interpreted as a negative signed integer.
            <param name="type">The type of value that the expression will evaluate to, as determined at compile time.</param>
            <param name="sourceLocation">The location in the source text of the expression that corresponds to this constant.</param>
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CompileTimeConstant)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.ConvertToTargetTypeIfIntegerInRangeOf(Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            If the value of this compile time constant is an integer that falls in the range of the given
            (numeric) target type, the method returns a polymorhpic compile time constant whose Type value is the given
            target type. Otherwise the method returns this constant.
            </summary>
            <param name="targetType">The (numeric) target type.</param>
            <param name="allowLossOfSign">If true, a negative value may be converted to an unsigned value by reinterpreting the bits.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.ConvertToBoxedValueOfTargetTypeIfIntegerInRangeOf(Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            If the value of this compile time constant is a boxed integer and if that integer value falls in the range of the 
            given (numeric) target type, then convert the value of this constant to the target type and return it as a boxed value of that type.
            If the target type if not an integral type, or if the conversion is not possible, then this.Value is returned. Note that this.Value
            may be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.ConvertToUnsigned(System.Object)">
            <summary>
            If the given object is a signed integer, convert it to an unsigned integer with the same bit pattern.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ICompileTimeConstant) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CompileTimeConstant) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.For(Microsoft.Cci.IMetadataConstant,Microsoft.Cci.Ast.Expression)">
            <summary>
            Returns a CompileTimeConstant instance that corresponds to the given IMetadataConstant instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CompileTimeConstant.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompileTimeConstant.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompileTimeConstant.CouldBeInterpretedAsUnsignedInteger">
            <summary>
            True if this expression is a constant negative integer that could also be interpreted as a unsigned integer.
            For example, 1 &lt;&lt; 31 could also be interpreted as a convenient way of writing 0x80000000.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompileTimeConstant.IsNumericConstant">
            <summary>
            Returns true if the value of this compile constant is numeric.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompileTimeConstant.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompileTimeConstant.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CompileTimeConstant.UnfoldedExpression">
            <summary>
            If this expression is the result of constant folding performed on another expression, then this property returns that other expression.
            Otherwise it returns this object.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DummyConstant">
            <summary>
            A dummy constant expression with a source location. Used to provide a non null constant expression in error situations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyConstant.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a dummy constant expression with a source location. Used to provide a non null constant expression in error situations.
            </summary>
            <param name="sourceLocation">The location in the source text of the expression that corresponds to this constant.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyConstant.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CompileTimeConstant)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyConstant.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyConstant.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Comparison">
            <summary>
            A comparison performed on a left and right operand.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comparison.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a comparison operation performed on a left and right operand.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comparison.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Comparison)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comparison.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
            <remarks>This override allows StandardOperators to use the same dummy methods as the arithmetic operations.</remarks>
        </member>
        <member name="M:Microsoft.Cci.Ast.Comparison.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.Comparison.IsUnsignedOrUnordered">
            <summary>
            If the operands are integers, use unsigned comparison. If the operands are floating point numbers, return true if the operands are unordered.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Comparison.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Conditional">
            <summary>
            An expression that results in one of two values, depending on the value of a condition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in one of two values, depending on the value of a condition.
            </summary>
            <param name="condition">The condition that determines which subexpression to evaluate.</param>
            <param name="resultIfTrue">The expression to evaluate as the value of the overall expression if the condition is true.</param>
            <param name="resultIfFalse">The expression to evaluate as the value of the overall expression if the condition is false.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Conditional)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IConditional) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Conditional) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Conditional.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.Condition">
            <summary>
            The condition that determines which subexpression to evaluate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.ConvertedResultIfFalse">
            <summary>
            The expression to evaluate as the value of the overall expression if the condition is false, after conversion has been applied to it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.ConvertedResultIfTrue">
            <summary>
            The expression to evaluate as the value of the overall expression if the condition is false, after conversion has been applied to it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.ResultIfFalse">
            <summary>
            The expression to evaluate as the value of the overall expression if the condition is false.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.ResultIfTrue">
            <summary>
            The expression to evaluate as the value of the overall expression if the condition is true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Conditional.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CreateObjectInstance">
            <summary>
            An expression that invokes an object constructor.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.#ctor(Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that invokes an object constructor.
            </summary>
            <param name="objectType">The type of object to create.</param>
            <param name="arguments">The arguments to pass to the constructor, indexer or method</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CreateObjectInstance)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ICreateObjectInstance) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CreateObjectInstance) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns a collection of methods that represent the constructors for the named type.
            </summary>
            <param name="allowMethodParameterInferencesToFail">This flag is ignored, since constructors cannot have generic parameters.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstance.ComplainAboutCallee">
            <summary>
            Called when the arguments are good and no type inferences have failed. This means that the callee could not be found. Complain.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateObjectInstance.IsVirtualCall">
            <summary>
            True if the method to call is determined at run time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateObjectInstance.ObjectType">
            <summary>
            The type of object to create.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateObjectInstance.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CreateObjectInstanceForResolvedConstructor">
            <summary>
            An expression that invokes an object constructor that has already been resolved.
            Only for use during projection. I.e. do not contruct this node from a parser.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstanceForResolvedConstructor.#ctor(Microsoft.Cci.IMethodDefinition,System.Collections.Generic.List{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            An expression that invokes an object constructor that has already been resolved.
            Only for use during projection. I.e. do not contruct this node from a parser.
            </summary>
            <param name="resolvedConstructor">The constructor to invoke.</param>
            <param name="convertedArguments">The arguments to pass to the constructor, indexer or method. These are expected to already be converted to match the constructor's parameter types.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstanceForResolvedConstructor.ConvertArguments">
            <summary>
            Returns the list of the arguments that was provided to the constructor. The caller of the constructor already performed the conversions, so this routine does nothing.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstanceForResolvedConstructor.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns an empty collection. This routine should never be called since ResolveMethod is overridden with a trivial implementation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstanceForResolvedConstructor.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateObjectInstanceForResolvedConstructor.ResolveMethod">
            <summary>
            Returns the constructor that was provided when this object was construct. Does not re-resolve the method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CreateAnonymousObject">
            <summary>
            C# v3
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateAnonymousObject.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="initializers"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateAnonymousObject.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CreateAnonymousObject)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateAnonymousObject.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CreateAnonymousObject) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateAnonymousObject.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateAnonymousObject.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateAnonymousObject.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateAnonymousObject.Initializers">
            <summary>
            A sequence of assignments that collectively initialize the new object instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateAnonymousObject.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CreateArray">
            <summary>
            An expression that creates an array instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.#ctor(Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},System.UInt32,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that creates an array instance.
            </summary>
            <param name="elementTypeExpression">A type expression for the element type of the array.</param>
            <param name="initializers">The initial values of the array elements. May be empty.</param>
            <param name="lowerBounds">A potentially empty list of expressions that supply lower bounds for the dimensions of the array instance.</param>
            <param name="rank">The number of dimensions of the array instance.</param>
            <param name="sizes">A list of expressions that supply sizes for the dimensions of the array instance. May be empty if the sizes are to be determined from the initializers.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.#ctor(Microsoft.Cci.ITypeReference,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that creates an array instance.
            </summary>
            <param name="elementType">The element type of the array.</param>
            <param name="initializers">The initial values of the array elements. May be empty.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CreateArray)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.SameShape(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.AstErrorMessage@)">
            <summary>
            Compares the shape of the first element of the initializer against
            another element of the initializer.  Called recursively to whatever
            depth the initializer is nested.
            </summary>
            <param name="first">First element of initializer</param>
            <param name="other">Other element of initializer</param>
            <param name="message">Error object, if returning false</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.SameStaticShape(Microsoft.Cci.Ast.AstErrorMessage@)">
            <summary>
            Recursively checks that each size expression is a compile time constant
            matching the number of elements at the corresponding level in the initializer.
            Also checks that size expressions are of int32 type.
            </summary>
            <returns>True if sizes match correctly</returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ICreateArray) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CreateArray) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.GetDimensionSizeFromInitializers(System.Int32)">
            <summary>
            Calculates the size of the given dimension by counting up the number of initializer expressions in the given dimension.
            </summary>
            <param name="dimension">The dimension to size.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateArray.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.ComputedLowerBounds">
            <summary>
            The lowerbound for each dimension of the array instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.ComputedSizes">
            <summary>
            The size of each dimension of the array instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.ConvertedSizes">
            <summary>
            The size of each dimension of the array instance, implicitly converted to an integral type.
            When no explicit size expression is available, the size is computed from the initializers.
            If no initializers are present, the size defaults to zero.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.ElementType">
            <summary>
            The element type of the array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.ElementTypeExpression">
            <summary>
            A type expression for the element type of the array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.Initializers">
            <summary>
            The initial values of the array elements. May be empty.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.ConvertedInitializers">
            <summary>
            Returns the initializers, modified by any required implicit conversion
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.LowerBounds">
            <summary>
            A potentially empty list of expressions that supply lower bounds for the dimensions of the array instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.Rank">
            <summary>
            The number of dimensions of the array instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.Sizes">
            <summary>
            A list of expressions that supply sizes for the dimensions of the array instance. May be empty if the sizes are to be determined from the initializers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateArray.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CreateDelegateInstance">
            <summary>
            Creates an instance of the delegate type return by this.Type, using the method specified by this.MethodToCallViaDelegate.
            If the method is an instance method, then this.Instance specifies the expression that results in the instance on which the 
            method will be called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateDelegateInstance.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.IMethodDefinition,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that creates an instance of the given delegate type, using the method specified by methodToCallViaDelegate.
            If the method is an instance method, then this.Instance specifies the expression that results in the instance on which the 
            method will be called.
            </summary>
            <param name="delegateType">The type of delegate value this expression will create.</param>
            <param name="methodToCallViaDelegate">The method that is to be be called when the delegate instance is invoked.</param>
            <param name="instance">An expression that evaluates to the instance (if any) on which this.MethodToCallViaDelegate must be called (via the delegate).</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateDelegateInstance.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CreateDelegateInstance)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateDelegateInstance.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ICreateDelegateInstance) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateDelegateInstance.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CreateDelegateInstance) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateDelegateInstance.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateDelegateInstance.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateDelegateInstance.Instance">
            <summary>
            An expression that evaluates to the instance (if any) on which this.MethodToCallViaDelegate must be called (via the delegate).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateDelegateInstance.IsVirtualDelegate">
            <summary>
            True if the delegate encapsulates a virtual method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateDelegateInstance.MethodToCallViaDelegate">
            <summary>
            The method that is to be be called when the delegate instance is invoked.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateDelegateInstance.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CreateImplicitlyTypedArray">
            <summary>
            An expression that creates an instance of an array whose element type is determined by the initial values of the elements.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that creates an instance of an array whose element type is determined by the initial values of the elements.
            </summary>
            <param name="initializers">The initial values of the array elements. May not be empty. Used to determine the element type of the array.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CreateImplicitlyTypedArray)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CreateImplicitlyTypedArray) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.ElementType">
            <summary>
            The element type of the array. This is computed from the types of the intial values of the elements.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.Initializers">
            <summary>
            The initial values of the array elements. May not be empty. Used to determine the element type of the array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateImplicitlyTypedArray.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CreateStackArray">
            <summary>
            An expression that allocates an array on the call stack
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that allocates an array on the call stack.
            </summary>
            <param name="elementType">The type of the elements of the stack array.</param>
            <param name="size">The size (number of elements) of the stack array.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CreateStackArray)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IStackArrayCreate) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(StackArrayCreate) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CreateStackArray.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateStackArray.ElementType">
            <summary>
            The type of the elements of the stack array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateStackArray.Size">
            <summary>
            The size (number of elements) of the stack array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CreateStackArray.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DefaultValue">
            <summary>
            An expression that results in the default value of a given type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the default value of a given type.
            </summary>
            <param name="defaultValueType">The type whose default value is the result of this expression.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.#ctor(Microsoft.Cci.Ast.NullLiteral,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Allocates a default value expression that is equivalent in effect to the given nullLiteral when converted to the given type.
            </summary>
            <param name="nullLiteral">A null literal expression.</param>
            <param name="type">The type whose default value is the result of the expression being allocated.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.DefaultValue)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IDefaultValue) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(DefaultValue) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DefaultValue.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DefaultValue.DefaultValueType">
            <summary>
            The type whose default value is the result of this expression.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DefaultValue.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Division">
            <summary>
            An expression that divides the value of the left operand by the value of the right operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Division.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that divides the value of the left operand by the value of the right operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Division.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Division)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IDivision) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Division) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Division.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Division.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Division.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Division.TreatOperandsAsUnsignedIntegers">
            <summary>
            If true the operands must be integers and are treated as being unsigned for the purpose of the division.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DivisionAssignment">
            <summary>
            An expression that divides the value of the left operand by the value of the right operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Division.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DivisionAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that divides the value of the left operand by the value of the right operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Division.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DivisionAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.DivisionAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DivisionAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(DivisionAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DivisionAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DivisionAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a division expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.DummyMethodCall">
            <summary>
            A dummy method call expression for use during error recovery. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyMethodCall.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates a dummy method call expression for use during error recovery. 
            </summary>
            <param name="operationExpression">An operation expression that failed to match an operator overload.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyMethodCall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block. This method should never be called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyMethodCall.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns an empty collection. This method should never be called.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DummyExpression">
            <summary>
            A dummy expression for miscellaneous uses.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyExpression.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a dummy expression for use during error recovery.
            </summary>
            <param name="sourceLocation">The source location associated with the AST node that projects onto this expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a dummy expression for use in calls to SetContainingExpression.
            </summary>
            <param name="containingBlock">A containing block for the expression. Used by calls to SetContainingExpression.</param>
            <param name="sourceLocation">The source location associated with the AST node that projects onto this expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Allocates a dummy expression for use by the method overload resolution machinary when converting a method group to a delegate.
            </summary>
            <param name="containingBlock">A containing block for the expression. Used by calls to SetContainingExpression.</param>
            <param name="sourceLocation">The source location associated with the AST node that projects onto this expression.</param>
            <param name="type">The type of the result. This matters because the result is going to be argument supplied to the method overload machinary.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Does nothing. Should never be called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Does nothing. Should never be called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Does nothing. Should never be called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DummyExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DummyExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EmptyTypeExpression">
            <summary>
            A type expression that does not resolve to a type, but serves only to denote a "missing" type expression.
            For example, the following C# type expression "typeof(GenericType&lt;,&gt;)" will feature a list of two empty type expressions.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyTypeExpression.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a type expression that does not resolve to a type, but serves only to denote a "missing" type expression.
            For example, the following C# type expression "typeof(GenericType&lt;,&gt;)" will feature a list of two empty type expressions.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.EmptyTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyTypeExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyTypeExpression.Resolve">
            <summary>
            Always returns Dummy.Type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(EmptyTypeExpression).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Equality">
            <summary>
            An expression that results in true if both operands represent the same value or object. When overloaded, this expression corresponds to a call to op_Equality.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EqualityComparison">
            <summary>
            An equality or inequality comparison performed on a left and right operand.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EqualityComparison.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a comparison operation performed on a left and right operand.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EqualityComparison.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Comparison)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EqualityComparison.CallHasValue(Microsoft.Cci.Ast.Expression)">
            <summary>
            Returns a call to the getter of the HasValue property of the type of the given operand, if such a getter can be found. 
            If not, it returns this.
            </summary>
            <param name="operand">An operand that is being tested for equality or inequality with the null literal.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EqualityComparison.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EqualityComparison.ReportBadOperands">
            <summary>
            Reports an error indicating that an equality comparison cannot be carried out on these types of operands.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EqualityComparison.TypeHasUserDefinedEqualityOperator(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if the given type or one of its base types defines an overload for == or !=.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EqualityComparison.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if both operands represent the same value or object. When overloaded, this expression corresponds to a call to op_Equality.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Equality)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.CallHasValue(Microsoft.Cci.Ast.Expression)">
            <summary>
            Returns a call to the getter of the HasValue property of the type of the given operand, if such a getter can be found. 
            If not, it returns this.
            </summary>
            <param name="operand">An operand that is being tested for equality or inequality with the null literal.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IEquality) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Equality) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Equality.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Equality.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ExclusiveOr">
            <summary>
            An expression that computes the bitwise exclusive or of the left and right operands. 
            When the operator is overloaded, this expression corresponds to a call to op_ExclusiveOr.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that computes the bitwise exclusive or of the left and right operands. 
            When the operator is overloaded, this expression corresponds to a call to op_ExclusiveOr.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ExclusiveOr)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IExclusiveOr) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ExclusiveOr) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOr.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ExclusiveOr.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ExclusiveOr.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ExclusiveOrAssignment">
            <summary>
            An expression that computes the bitwise exclusive or of the left and right operands. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_ExclusiveOr.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOrAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            An expression that computes the bitwise exclusive or of the left and right operands. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_ExclusiveOr.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOrAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ExclusiveOrAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOrAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ExclusiveOrAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOrAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExclusiveOrAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates an exclusive or expression using the given left Operand and this.RightOperand as the two operands.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.Exists">
            <summary>
            An expression that results in true if an embedded parameterized expression results in true for at least one binding of values to the parameters.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Quantifier">
            <summary>
            An expression that repeatedly evaluates an embedded parameterized condition by binding a succession of values to the parameters and reduces the collection of results to 
            a single boolen value. For example: forall and exists.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.LocalDeclarationsStatement},Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that repeatedly evaluates an embedded parameterized condition by binding a succession of values to the parameters and reduces the collection of results to 
            a single boolen value. For example: forall and exists.
            </summary>
            <param name="boundVariables">
            One of more local declarations statements. Typically these locals are referenced in this.Condition.
            </param>
            <param name="condition">
            An expression that is evaluated for every tuple of values that may be bound to the variables defined by this.BoundVariables.
            Typically, the expression contains references to the variables defined in this.BoundVariables.
            </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Quantifier)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.CopyTriggersFromTemplate(Microsoft.Cci.Ast.Quantifier)">
            <summary>
            
            </summary>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.AddAdditionalTypeParameters(System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression})">
            <summary>
            Add any additional type parameters the methods used in the projection (named by GetQuantifierName()) might need.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.GetAnonymousMethod(Microsoft.Cci.Ast.LocalDeclaration,Microsoft.Cci.Ast.Expression)">
            <summary>
            Returns an anonymous method with a single parameter, specified by locDef, and a body consisting of a single return statement
            that returns the given expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.GetQuantifierName">
            <summary>
            A string that names the quantifier, for example "ForAll".
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Quantifier.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Quantifier.BoundVariables">
            <summary>
            One of more variables of a the same type. Typically these variables are referenced in this.Condition.
            The Forall expression is true if this.Condition is true for every possible binding of values to these variables.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Quantifier.Condition">
            <summary>
            An expression that is evaluated for every tuple of values that may be bound to the variables defined by this.BoundVariables.
            If the expression evaluates to true for every such tuple, the result of the Forall expression is true.
            Typically, the expression contains references to the variables defined in this.BoundVariables.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Quantifier.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Quantifier.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exists.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.LocalDeclarationsStatement},Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if an embedded parameterized expression results in true for at least one binding of values to the parameters.
            </summary>
            <param name="boundVariables">
            One of more local declarations statements. Typically these locals are referenced in this.Condition.
            The Exists expression is true if this.Condition is true for at least one binding of values to these locals.
            </param>
            <param name="condition">
            An expression that is evaluated for every tuple of values that may be bound to the variables defined by this.BoundVariables.
            If the expression evaluates to true for at least one such tuple, the result of the Exists expression is true.
            Typically, the expression contains references to the variables defined in this.BoundVariables.
            </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exists.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Exists)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exists.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Exists) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exists.GetQuantifierName">
            <summary>
            A string that names the quantifier.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exists.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Exponentiation">
            <summary>
            The value of the left operand raised to the power of the value of the right operand. In VB the ^ operand corresponds to this expression. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exponentiation.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exponentiation.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Exponentiation)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exponentiation.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Exponentiation) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exponentiation.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Exponentiation.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Exponentiation.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Exponentiation.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Forall">
            <summary>
            An expression that results in true if an embedded parameterized expression results in true for every possible binding of values to the parameters.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Forall.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.LocalDeclarationsStatement},Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if an embedded parameterized expression results in true for every possible binding of values to the parameters.
            </summary>
            <param name="boundVariables">
            One of more local declarations statements. Typically these locals are referenced in this.Condition.
            The Forall expression is true if this.Condition is true for every possible binding of values to these variables.
            </param>
            <param name="condition">
            An expression that is evaluated for every tuple of values that may be bound to the variables defined by this.BoundVariables.
            If the expression evaluates to true for every such tuple, the result of the Forall expression is true.
            Typically, the expression contains references to the variables defined in this.BoundVariables.
            </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Forall.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Forall)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Forall.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Forall) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Forall.GetQuantifierName">
            <summary>
            A string that names the quantifier.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Forall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericInstanceExpression">
            <summary>
            An expression that refers to a generic type or method instance by specifying the generic type or method group name and the argument types.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that refers to a generic type or method instance by specifying the generic type or method group name and the argument types.
            </summary>
            <param name="genericTypeOrMethod">An expression that should resolve to a method group or a type group.</param>
            <param name="argumentTypes">The type values to match with the generic parameters of the method or type to instantiate.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GenericInstanceExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GenericInstanceExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.GetArgumentTypeReferences">
            <summary>
            Resolves the list of type expressions in this.ArgumentTypes and returns the resolved types as a list of type referneces.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.ResolveAsGenericTypeInstance">
            <summary>
            If this expression resolves to a generic type instance, return the instance. Otherwise return null;
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericInstanceExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericInstanceExpression.ArgumentTypes">
            <summary>
            The type values to match with the generic parameters of the method or type to instantiate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericInstanceExpression.GenericTypeOrMethod">
            <summary>
            An expression that should resolve to a method group or a type group.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericInstanceExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericTypeInstanceExpression">
            <summary>
            An expression that refers to a generic type instance by specifying the generic type group name and the argument types.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeInstanceExpression.#ctor(Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that refers to a generic type instance by specifying the generic type group name and the argument types.
            </summary>
            <param name="genericType">An expression that should resolve to a type group.</param>
            <param name="argumentTypes">The type values to match with the generic parameters of the type to instantiate.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeInstanceExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GenericTypeInstanceExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeInstanceExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GenericTypeInstanceExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeInstanceExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeInstanceExpression.Resolve">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeInstanceExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeInstanceExpression.ArgumentTypes">
            <summary>
            The type values to match with the generic parameters of the type to instantiate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeInstanceExpression.GenericType">
            <summary>
            An expression that should resolve to a type group.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GetTypeOfTypedReference">
            <summary>
            An expression that results in an instance of System.Type that represents the compile time type that has been paired with a runtime value via a typed reference.
            This corresponds to the __reftype operator in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetTypeOfTypedReference.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in an instance of System.Type that represents the compile time type that has been paired with a runtime value via a typed reference.
            This corresponds to the __reftype operator in C#.
            </summary>
            <param name="typedReference">An expression that should result in a value of type System.TypedReference.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetTypeOfTypedReference.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GetTypeOfTypedReference)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetTypeOfTypedReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IGetTypeOfTypedReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetTypeOfTypedReference.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GetTypeOfTypedReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetTypeOfTypedReference.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetTypeOfTypedReference.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GetTypeOfTypedReference.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GetTypeOfTypedReference.TypedReference">
            <summary>
            An expression that should result in a value of type System.TypedReference.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GetValueOfTypedReference">
            <summary>
            An expression that converts the typed reference value resulting from evaluating TypedReference to a value of the type specified by TargetType.
            This corresponds to the __refvalue operator in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetValueOfTypedReference.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that converts the typed reference value resulting from evaluating TypedReference to a value of the type specified by TargetType.
            This corresponds to the __refvalue operator in C#.
            </summary>
            <param name="typedReference">An expression that should result in a value of type System.TypedReference.</param>
            <param name="targetType">The type to which the value part of the typed reference must be converted.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetValueOfTypedReference.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GetValueOfTypedReference)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetValueOfTypedReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IGetValueOfTypedReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetValueOfTypedReference.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GetValueOfTypedReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetValueOfTypedReference.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GetValueOfTypedReference.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GetValueOfTypedReference.TargetType">
            <summary>
            The type to which the value part of the typed reference must be converted.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GetValueOfTypedReference.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GetValueOfTypedReference.TypedReference">
            <summary>
            An expression that results in a value of type System.TypedReference.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GreaterThan">
            <summary>
            An expression that results in true if the value of the left operand is greater than the value of the right operand.
            When overloaded, this expression corresponds to a call to op_GreaterThan.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThan.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if the value of the left operand is greater than the value of the right operand.
            When overloaded, this expression corresponds to a call to op_GreaterThan.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThan.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GreaterThan)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThan.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IGreaterThan) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThan.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GreaterThan) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThan.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThan.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThan.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GreaterThan.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GreaterThanOrEqual">
            <summary>
            An expression that results in true if the value of the left operand is greater than or equal to the value of the right operand.
            When overloaded, this expression corresponds to a call to op_GreaterThanOrEqual.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThanOrEqual.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if the value of the left operand is greater than or equal to the value of the right operand.
            When overloaded, this expression corresponds to a call to op_GreaterThanOrEqual.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThanOrEqual.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GreaterThanOrEqual)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThanOrEqual.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IGreaterThanOrEqual) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThanOrEqual.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GreaterThanOrEqual) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThanOrEqual.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThanOrEqual.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GreaterThanOrEqual.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GreaterThanOrEqual.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ImplicitQualifier">
            <summary>
            An expression without an explicit source representation that results in a value specified by a containing expression or statement.
            In VB the . and ! operators can be implicitly qualified by the value of an outer With statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ImplicitQualifier.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ImplicitQualifier.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ImplicitQualifier)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ImplicitQualifier.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ImplicitQualifier) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ImplicitQualifier.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ImplicitQualifier.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ImplicitQualifier.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Implies">
            <summary>
            An expression that results in true if the right operand is true whenever the left operand is true.
            If the left operand results in false, the right operand is not evaluated.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LogicalBinaryOperation">
            <summary>
            A binary operation performed on a left and right operand, but with short circuiting (not evaluating the right operand, depending on the value of the left operand).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalBinaryOperation.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a binary operation performed on a left and right operand, but with short circuiting (not evaluating the right operand, depending on the value of the left operand).
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalBinaryOperation.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BinaryOperation)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalBinaryOperation.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalBinaryOperation.ProjectAsStandardLogicalOperator">
            <summary>
            Returns an expression that is the projection of a standard short circuit operator.
            In the case of a logical and, this is the projection of (bool)x ? (bool)y : false;
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalBinaryOperation.ProjectAsUserDefinedOverloadAsLogicalOperator(Microsoft.Cci.IMethodCall)">
            <summary>
            Returns an expression that is the projection of a user defined short circuit operator.
            In the case of a logical or, this is the projection of let tx = (T)x in T.op_True(tx) ? tx : T.op_BitwiseOr(tx, (T)y).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LogicalBinaryOperation.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if the right operand is true whenever the left operand is true.
            If the left operand results in false, the right operand is not evaluated.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Implies)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Implies) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.InferType">
            <summary>
            Returns System.Boolean.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.ProjectAsStandardLogicalOperator">
            <summary>
            Returns the projection of (bool)this.LeftOperand ? (bool)this.RightOperand : true;
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Implies.ProjectAsUserDefinedOverloadAsLogicalOperator(Microsoft.Cci.IMethodCall)">
            <summary>
            Returns a dummy expression since this operator is not overloadable.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Implies.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Indexer">
            <summary>
            An expression that represents a call to the getter or setter of a default indexed property, or an access to an array element or string character.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that represents a call to the getter or setter of a default indexed property, or an access to an array element or string character.
            </summary>
            <param name="indexedObject">An expression that results in value whose type is expected to be an array, or string, or to define a default indexed property that matches the indices.</param>
            <param name="indices">The indices to pass to the accessor.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Indexer)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.CreateNewIndexerForFactoring(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="indexedObject"></param>
            <param name="indices"></param>
            <param name="sourceLocation"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.ConvertArguments">
            <summary>
            Returns a list of the arguments to pass to the constructor, indexer or method, after they have been converted to match the parameters of the resolved method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IArrayIndexer) if this.IndexedObject is an array, otherwise calls this.ProjectAsIExpression().Dispatch(visitor).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Indexer) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.FactoredExpression">
            <summary>
            Either returns this expression, or returns a BlockExpression that assigns each subexpression to a temporary local variable
            and then evaluates an expression that is the same as this expression, but which refers to the temporaries rather than the 
            factored out subexpressions. This transformation is useful when expressing the semantics of operation assignments and increment/decrement operations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns a collection of methods that match the name of the method/indexer to call, or that represent the
            collection of constructors for the named type.
            </summary>
            <param name="allowMethodParameterInferencesToFail">If this flag is true, 
            generic methods should be included in the collection if their method parameter types could not be inferred from the argument types.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.GetPointerAdditionMethods(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns a collection of methods that represents the overloads for ptr + index.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.ProjectAsDereferencedPointerAddition">
            <summary>
            Returns an expression corresponding to *(ptr + index) where ptr is this.IndexedObject and index is the first element of this.ConvertedArguments.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.ResolveAsValueContainer">
            <summary>
            Results in null or an array indexer or an indexer (property) definition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Indexer.ComplainAboutCallee">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Indexer.IndexedObject">
            <summary>
            An expression that results in value whose type is expected to be an array, or to define a default indexed property that matches the indices.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Indexer.IsVirtualCall">
            <summary>
            True if the method to call is determined at run time, based on the runtime type of IndexedObject.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.InitializeObject">
            <summary>
            An expression that intializes a newly constructed object instance by assigning values to fields and properties.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.InitializeObject.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.NamedArgument},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that intializes a newly constructed object instance by assigning values to fields and properties.
            </summary>
            <param name="objectToInitialize">The newly constructed object to initialize.</param>
            <param name="namedArguments">A list of (identifier, expression) pairs used to initialize the contructed object via assignments to fields and properties.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.InitializeObject.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.InitializeObject)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.InitializeObject.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(InitializeObject) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.InitializeObject.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.InitializeObject.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.InitializeObject.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.InitializeObject.NamedArguments">
            <summary>
            A list of (identifier, expression) pairs used to initialize the contructed object via assignments to fields and properties.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.InitializeObject.ObjectToInitialize">
            <summary>
            The newly constructed object to initialize.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.InitializeObject.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IntegerDivision">
            <summary>
            An expression that divides the value of the left operand by the value of the right operand. The result is always an integer (i.e. the fraction is discarded).
            When overloaded, this expression corresponds to a call to op_IntegerDivision.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IntegerDivision.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.IntegerDivision.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.IntegerDivision)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.IntegerDivision.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(IntegerDivision) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IntegerDivision.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IntegerDivision.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IntegerDivision.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IntegerDivision.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IntegerDivision.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ITypeGroup">
            <summary>
            An object that represents a group of types. It is an intermediate artifact
            to be used while resolving a name forming part of a generic type instance expression in the absence of knowledge of how many type arguments will be used to
            make the instantiation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ITypeGroup.GetTypes(System.Int32)">
            <summary>
            The types that Expression resolves to, given a particular number of generic parameters.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeGroup.Expression">
            <summary>
            The (name) expression to resolve.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeGroup.Types">
            <summary>
            The types that Expression resolves to.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IsFalse">
            <summary>
            An expression that returns true if the value of the its operand is false or can be converted to false. 
            In VB the IsFalse operator corresponds to this kind of expression. When overloaded, this expression corresponds to a call to op_False.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnaryOperation">
            <summary>
            An operation performed on a single operand.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an operation performed on a single operand.
            </summary>
            <param name="operand">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.UnaryOperation)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.CreateOverloadMethodCall(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns a method call object that calls the given overloadMethod with this.LeftOperand and this.RightOperands as arguments.
            The operands are converted to the corresponding parameter types using implicit conversions.
            If overloadMethod is the Dummy.Method a DummyMethodCall is returned.
            </summary>
            <param name="overloadMethod">A user defined operator overload method or a "builtin" operator overload method, or a dummy method.
            The latter can be supplied when the expression is in error because one or both of the arguments cannot be converted the correct parameter type for a valid overload.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.GetOperatorMethods(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an enumeration of methods that overload this operator. 
            If no user defined methods exists, it returns a list of dummy methods that correspond to operators built into IL.
            </summary>
            <param name="operandType">The type of the operand.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.GetUnaryBadOperandErrorMessage">
            <summary>
            Returns an error message stating that the operand of this operation is not of the right type for the operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.GetUserDefinedOperators(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an enumeration of user defined methods that overload this operator, defined by the given type or one of its base classes.
            </summary>
            <param name="type">The type whose user defined operator methods should be searched.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.GetNonDerivedUserDefinedOperators(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an enumeration of user defined methods that overload this operator, defined directly by the given type.
            </summary>
            <param name="type">The type whose user defined operator methods should be searched.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.LookForOverloadMethod">
            <summary>
            Returns the user defined operator overload method, or a dummy method corresponding to an IL operation, that best
            matches the operand type of this operation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.OverloadCall">
            <summary>
            Returns the user defined or standard operator method that matches this operation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperation.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.ConvertedOperand">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.Operand">
            <summary>
            The value on which the operation is performed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.OverloadMethodCall">
            <summary>
            An expression that calls the user defined operator overload method that best matches the operand type of this operation.
            If no such method can be found, the value of this property is null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperation.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsFalse.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that returns true if the value of the its operand is false or can be converted to false. 
            In VB the IsFalse operator corresponds to this kind of expression. When overloaded, this expression corresponds to a call to op_False.
            </summary>
            <param name="operand">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsFalse.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.IsFalse)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsFalse.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(IsFalse) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsFalse.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsFalse.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IsFalse.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IsFalse.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IsTrue">
            <summary>
            An expression that returns true if the value of the its operand is true or can be converted to true. 
            When overloaded, this expression corresponds to a call to op_True.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that returns true if the value of the its operand is true or can be converted to true. 
            When overloaded, this expression corresponds to a call to op_True.
            </summary>
            <param name="operand">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates an expression that returns true if the value of the its operand is true or can be converted to true. 
            When overloaded, this expression corresponds to a call to op_True.
            </summary>
            <param name="operand">The value on which the operation is performed. Must be fully initialized.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.IsTrue)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(IsTrue) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.IsTrue.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.IsTrue.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IsTrue.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Lambda">
            <summary>
            A list of parameters and a body in the form of an expression or a block, that together form an anonymous delegate value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.LambdaParameter},Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a list of parameters and a body in the form of an expression or a block, that together form an anonymous delegate value.
            </summary>
            <param name="parameters">The parameters.</param>
            <param name="expression">The expression that specifies the result of calling the lambda. May be null if body is not null.</param>
            <param name="body">A block of statements that contains a return statement that returns the value of calling the lambda. May be null if expression is not null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Lambda)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Lambda) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Lambda.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Lambda.Body">
            <summary>
            A block of statements that contains a return statement that returns the value of calling the lambda.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Lambda.Expression">
            <summary>
            The expression that specifies the result of calling the lambda.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Lambda.Parameters">
            <summary>
            The parameters.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Lambda.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LambdaParameter">
            <summary>
            A parameter for a lambda expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LambdaParameter.#ctor(System.Boolean,System.Boolean,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a parameter for a lambda expression.
            </summary>
            <param name="isOut">True if the lambda assigns a value to this parameter.</param>
            <param name="isRef">True if the argument value is passed by reference.</param>
            <param name="parameterType">The type of value that may be assigned to this parameter. May be null, in which case the type is inferred from usage.</param>
            <param name="parameterName">The name of the parameter.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LambdaParameter.#ctor(Microsoft.Cci.Ast.Lambda,Microsoft.Cci.Ast.LambdaParameter)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingLambda">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LambdaParameter.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LambdaParameter) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.LambdaParameter.flags">
            <summary>
            1 == IsOut, 2 == IsRef, 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LambdaParameter.MakeCopyFor(Microsoft.Cci.Ast.Lambda)">
            <summary>
            Makes a copy of this lambda parameter, changing the ContainingLambda to the given lambda.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LambdaParameter.SetContainingLambda(Microsoft.Cci.Ast.Lambda)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a LambdaParameter before constructing the containing Lambda.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LambdaParameter.ContainingLambda">
            <summary>
            The lambda expression that is parameterized by this parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LambdaParameter.IsOut">
            <summary>
            True if the lambda assigns a value to this parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LambdaParameter.IsRef">
            <summary>
            True if the argument value is passed by reference.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LambdaParameter.ParameterType">
            <summary>
            The type of value that may be assigned to this parameter. May be null, in which case the type is inferred from usage.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LambdaParameter.ParameterName">
            <summary>
            The name of the parameter.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LeftShift">
            <summary>
            An expression that results in the value of the left operand, shifted left by the number of bits specified by the value of the right operand.
            When the operator is overloaded, this expression corresponds to a call to op_LeftShift.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShift.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the value of the left operand, shifted left by the number of bits specified by the value of the right operand.
            When the operator is overloaded, this expression corresponds to a call to op_LeftShift.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShift.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LeftShift)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShift.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ILeftShift) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShift.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LeftShift) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShift.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShift.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShift.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftShift.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftShift.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftShift.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LeftShift.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LeftShiftAssignment">
            <summary>
            An expression that results in the value of the left operand, shifted left by the number of bits specified by the value of the right operand.
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_LeftShift.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShiftAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the value of the left operand, shifted left by the number of bits specified by the value of the right operand.
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_LeftShift.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShiftAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LeftShiftAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShiftAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LeftShiftAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShiftAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LeftShiftAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a left shift expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.LessThan">
            <summary>
            An expression that results in true if the value of the left operand is less than the value of the right operand.
            When overloaded, this expression corresponds to a call to op_LessThan.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThan.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if the value of the left operand is less than the value of the right operand.
            When overloaded, this expression corresponds to a call to op_LessThan.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThan.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LessThan)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThan.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ILessThan) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThan.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LessThan) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThan.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThan.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThan.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LessThan.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LessThanOrEqual">
            <summary>
            An expression that results in true if the value of the left operand is less than or equal to the value of the right operand.
            When overloaded, this expression corresponds to a call to op_LessThanOrEqual.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThanOrEqual.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if the value of the left operand is less than or equal to the value of the right operand.
            When overloaded, this expression corresponds to a call to op_LessThanOrEqual.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThanOrEqual.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LessThanOrEqual)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThanOrEqual.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ILessThanOrEqual) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThanOrEqual.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LessThanOrEqual) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThanOrEqual.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThanOrEqual.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LessThanOrEqual.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LessThanOrEqual.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LiftedConversion">
            <summary>
            Converts a nullable value of one type into a nullable value of another type. Does not unbox the source value if it is null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LiftedConversion.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.IMethodDefinition,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="valueToConvert"></param>
            <param name="userDefinedUnliftedConversion"></param>
            <param name="resultType"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LiftedConversion.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LiftedConversion)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LiftedConversion.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Should never be called
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LiftedConversion.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LiftedConversion) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LiftedConversion.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LiftedConversion.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.LiftedConversion.UserDefinedUnliftedConversion">
            <summary>
            The conversion to lift. If this is null, the unlifted conversion is built-in (for example from int to long).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Like">
            <summary>
            An expression that results in true if the string value of the left operand matches the regular expression contained in the right operand.
            In VB the Like operator corresponds to this expression. When overloaded this expression corresponds to a call to op_Like.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Like.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Like.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Like)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Like.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Like) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Like.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Like.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Like.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Like.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LogicalAnd">
            <summary>
            An expression that results in true if both operands result in true. If the left operand results in false, the right operand is not evaluated.
            When overloaded, this expression corresponds to calls to op_False and op_BitwiseAnd.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if both operands result in true. If the left operand results in false, the right operand is not evaluated.
            When overloaded, this expression corresponds to calls to op_False and op_BitwiseAnd.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LogicalAnd)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LogicalAnd) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.ProjectAsStandardLogicalOperator">
            <summary>
            Returns the projection of (bool)this.LeftOperand ? (bool)this.RightOperand : false;
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalAnd.ProjectAsUserDefinedOverloadAsLogicalOperator(Microsoft.Cci.IMethodCall)">
            <summary>
            Returns the projection of let tx = (T)x in T.op_False(tx) ? tx : T.op_BitwiseAnd(tx, (T)y).
            </summary>
            <param name="overloadMethodCall">The user defined overload of the bitwise and operator.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.LogicalAnd.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LogicalNot">
            <summary>
            An expression that results in the logical negation of the boolean value of the given operand. When overloaded, this expression corresponds to a call to op_LogicalNot.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalNot.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the logical negation of the boolean value of the given operand. When overloaded, this expression corresponds to a call to op_LogicalNot.
            </summary>
            <param name="operand">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalNot.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LogicalNot)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalNot.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ILogicalNot) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalNot.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LogicalNot) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalNot.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalNot.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalNot.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LogicalNot.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LogicalNot.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LogicalOr">
            <summary>
            An expression that results in true if either operand results in true. If the left operand results in true, the right operand is not evaluated.
            When overloaded, this expression corresponds to calls to op_True and op_BitwiseOr.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in true if either operand results in true. If the left operand results in true, the right operand is not evaluated.
            When overloaded, this expression corresponds to calls to op_True and op_BitwiseOr.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LogicalOr)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LogicalOr) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.ProjectAsStandardLogicalOperator">
            <summary>
            Returns the projection of (bool)this.LeftOperand ? true : (bool)this.RightOperand;
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LogicalOr.ProjectAsUserDefinedOverloadAsLogicalOperator(Microsoft.Cci.IMethodCall)">
            <summary>
            Returns the projection of let tx = (T)x in T.op_True(tx) ? tx : T.op_BitwiseOr(tx, (T)y).
            </summary>
            <param name="overloadMethodCall">The user defined overload of the bitwise or operator.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.LogicalOr.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MakeTypedReference">
            <summary>
            An expression that creates a typed reference (a pair consisting of a reference to a runtime value and a compile time type).
            This is similar to what happens when a value type is boxed, except that the boxed value can be an object and
            the runtime type of the boxed value can be a subtype of the compile time type that is associated with the boxed valued.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MakeTypedReference.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that creates a typed reference (a pair consisting of a reference to a runtime value and a compile time type).
            This is similar to what happens when a value type is boxed, except that the boxed value can be an object and
            the runtime type of the boxed value can be a subtype of the compile time type that is associated with the boxed valued.
            </summary>
            <param name="operand">The value to box in a typed reference.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MakeTypedReference.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.MakeTypedReference)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MakeTypedReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IMakeTypedReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MakeTypedReference.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(MakeTypedReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MakeTypedReference.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MakeTypedReference.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MakeTypedReference.Operand">
            <summary>
            The value to box in a typed reference.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MakeTypedReference.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ManagedPointerTypeExpression">
            <summary>
            Sing#
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ManagedPointerTypeExpression.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Cci.Ast.ManagedPointerTypeExpression"/> class.
            </summary>
            <param name="targetType">Type of the target.</param>
            <param name="sourceLocation">The source location.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ManagedPointerTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ManagedPointerTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ManagedPointerTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ManagedPointerTypeExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ManagedPointerTypeExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ManagedPointerTypeExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ManagedPointerTypeExpression.Resolve">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ManagedPointerTypeExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ManagedPointerTypeExpression.TargetType">
            <summary>
            Gets the type of the target.
            </summary>
            <value>The type of the target.</value>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodGroup">
            <summary>
            A group of methods. In VB the AddressOf operator corresponds to this expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodGroup.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="selector"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodGroup.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.MethodGroup)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodGroup.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(MethodGroup) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodGroup.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodGroup.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodGroup.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodGroup.Selector">
            <summary>
            An expression that selects one or more methods. For example, this can be a SimpleName or a QualifiedName.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodGroup.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Modulus">
            <summary>
            An expression that results in the remainder of dividing value the left operand by the value of the right operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Modulus.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Modulus.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the remainder of dividing value the left operand by the value of the right operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Modulus.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Modulus.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Modulus)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Modulus.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IModulus) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Modulus.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Modulus) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Modulus.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Modulus.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Modulus.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Modulus.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Modulus.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Modulus.TreatOperandsAsUnsignedIntegers">
            <summary>
            If true the operands must be integers and are treated as being unsigned for the purpose of the modulus.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ModulusAssignment">
            <summary>
            An expression that results in the remainder of dividing value the left operand by the value of the right operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Modulus.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ModulusAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the remainder of dividing value the left operand by the value of the right operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Modulus.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ModulusAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ModulusAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ModulusAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ModulusAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ModulusAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ModulusAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a modulus expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.Multiplication">
            <summary>
            An expression that multiplies the value of the left operand by the value of the right operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Multiplication.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that multiplies the value of the left operand by the value of the right operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Multiplication.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Multiplication)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IMultiplication) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Multiplication) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Multiplication.flags">
            <summary>
            Storage for boolean properties. 1=Use checked arithmetic.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Multiplication.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Multiplication.CheckOverflow">
            <summary>
            The multiplication must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Multiplication.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Multiplication.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Multiplication.TreatOperandsAsUnsignedIntegers">
            <summary>
            If true the operands must be integers and are treated as being unsigned for the purpose of the multiplication. This only makes a difference if CheckOverflow is true as well.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MultiplicationAssignment">
            <summary>
            An expression that multiplies the value of the left operand by the value of the right operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Multiplication.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MultiplicationAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that multiplies the value of the left operand by the value of the right operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Multiplication.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MultiplicationAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.MultiplicationAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MultiplicationAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(MultiplicationAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MultiplicationAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MultiplicationAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a multiplication expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamedArgument">
            <summary>
            An expression that represents a (name, value) pair and that is typically used in method calls, custom attributes and object initializers.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedArgument.#ctor(Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that represents a (name, value) pair and that is typically used in method calls, custom attributes and object initializers.
            </summary>
            <param name="argumentName">The name of the parameter or property or field that corresponds to the argument.</param>
            <param name="argumentValue">The value of the argument.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedArgument.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NamedArgument)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedArgument.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(INamedArgument) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedArgument.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamedArgument) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedArgument.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedArgument.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedArgument.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.EmptyCollection">
            <summary>
            An empty collection of NamedArguments.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.ArgumentName">
            <summary>
            The name of the parameter or property or field that corresponds to the argument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.ArgumentValue">
            <summary>
            The value of the argument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.ContainingExpression">
            <summary>
            The expression that contains the named argument. For example, an object construction expression used in a custom attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.IsField">
            <summary>
            True if the named argument provides the value of a field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.ResolvedDefinition">
            <summary>
            Returns either null or the parameter or property or field that corresponds to this argument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.GetterIsVirtual">
            <summary>
            If true, the resolved definition is a property whose getter is virtual.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.SetterIsVirtual">
            <summary>
            If true, the resolved definition is a property whose setter is virtual.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedArgument.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceReferenceExpression">
            <summary>
            An expression that refers to a namespace by specifying its name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceReferenceExpression.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that refers to a namespace by specifying its name.
            </summary>
            <param name="expression">An expression that names a namespace. 
            Must be an instance of SimpleName, QualifiedName or AliasQualifiedName.</param>
            <param name="sourceLocation">The source locations of the expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceReferenceExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NamespaceReferenceExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceReferenceExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceReferenceExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceReferenceExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceReferenceExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceReferenceExpression.Resolve">
            <summary>
            Returns an INamespace instance that matches the expression. If no match is found Dummy.UnitNamespace is returned.
            If more than one match if found, an error is reported and one of the matches is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceReferenceExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a NamespaceReferenceExpression before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceReferenceExpression.Expression">
            <summary>
            An expression that should be the name of an INamespace instance. Must be an instance of SimpleName, QualifiedName or AliasQualifiedName.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceReferenceExpression.Type">
            <summary>
            Returns Dummy.Type. Should never be called, since a NamespaceReferenceExpression should not be included in any context
            where the type of the (non existant) runtime value of the referenced namespace is called for.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceTypeGroup">
            <summary>
            An object that represents a group of namespace types. It is an intermediate artifact
            to be used while resolving a name forming part of a generic type instance expression in the absence of knowledge of how many type arguments will be used to
            make the instantiation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeGroup.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.IScope{Microsoft.Cci.INamespaceMember},Microsoft.Cci.Ast.SimpleName)">
            <summary>
            Allocates an object that represents a group of types. It is an intermediate artifact
            to be used while resolving a name forming part of a generic type instance expression in the absence of knowledge of how many type arguments will be used to
            make the instantiation.
            </summary>
            <param name="expression">The (name) expression to resolve.</param>
            <param name="namespaceScope">The namespace scope to use to resolve the name.</param>
            <param name="simpleName">The name to resolve.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeGroup.GetTypes(System.Int32)">
            <summary>
            The types that Expression resolves to, given a particular number of generic parameters.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceTypeGroup.simpleName">
            <summary>
            The name to resolve.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceTypeGroup.namespaceScope">
            <summary>
            The namespace scope to use to resolve the name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeGroup.Expression">
            <summary>
            The (name) expression to resolve.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeGroup.Types">
            <summary>
            The types that the expression has resolved to.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedTypeGroup">
            <summary>
            An object that represents a group of nested types. It is an intermediate artifact
            to be used while resolving a name forming part of a generic type instance expression in the absence of knowledge of how many type arguments will be used to
            make the instantiation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeGroup.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.Ast.SimpleName)">
            <summary>
            Allocates an object that represents a group of types. It is an intermediate artifact
            to be used while resolving a name forming part of a generic type instance expression in the absence of knowledge of how many type arguments will be used to
            make the instantiation.
            </summary>
            <param name="expression">The (name) expression to resolve.</param>
            <param name="containingType">The type definition to use to resolve the name.</param>
            <param name="simpleName">The name to resolve.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.NestedTypeGroup.simpleName">
            <summary>
            The name to resolve.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NestedTypeGroup.containingType">
            <summary>
            The type definition to use to resolve the name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeGroup.GetTypes(System.Int32)">
            <summary>
            The types that Expression resolves to, given a particular number of generic parameters.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeGroup.GetNestedType(Microsoft.Cci.ITypeDefinition,System.Int32)">
            <summary>
            Starting with the given containingType and running up the base hierarchy if needed, return the first nested
            type with the given number of type parameters and name that matches this.simpleName. Returns null if no such type is found.
            </summary>
            <param name="containingType">The type where the search should start and whose base types should be searched if necessary.</param>
            <param name="numberOfTypeParameters">The number of type parameters the resulting type should have.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeGroup.GetNestedTypes(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Starting with the given containingType and running up the base hierarchy return all the nested
            types whose names match this.simpleName.
            </summary>
            <param name="containingType">The type where the search should start and whose base types should be also be searched.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeGroup.Expression">
            <summary>
            The (name) expression to resolve.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeGroup.Types">
            <summary>
            The types that the expression has resolved to.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NonNullTypeExpression">
            <summary>
            Spec#
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonNullTypeExpression.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="elementType"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonNullTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NonNullTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonNullTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NonNullTypeExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonNullTypeExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonNullTypeExpression.Resolve">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NonNullTypeExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NonNullTypeExpression.ElementType">
            <summary>
            Gets the type of the element.
            </summary>
            <value>The type of the element.</value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NotEquality">
            <summary>
            An expression that results in false if both operands represent the same value or object. When overloaded, this expression corresponds to a call to op_Inequality.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NotEquality.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in false if both operands represent the same value or object. When overloaded, this expression corresponds to a call to op_Inequality.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NotEquality.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NotEquality)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NotEquality.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(INotEquality) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NotEquality.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NotEquality) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NotEquality.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NotEquality.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NotEquality.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NotEquality.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NullableTypeExpression">
            <summary>
            An expression that denotes a nullable type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullableTypeExpression.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that denotes a nullable type.
            </summary>
            <param name="elementType">The non nullable type on which this nullable type is to be based.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullableTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NullableTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullableTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NullableTypeExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullableTypeExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullableTypeExpression.Resolve">
            <summary>
            The type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullableTypeExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NullableTypeExpression.ElementType">
            <summary>
            The non nullable type on which this nullable type is to be based.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NullCoalescing">
            <summary>
            An expression that evaluates the first operand and results in its value if it is not null. Otherwise the second operand is evaluated and its value becomes the value
            of the expression. This corresponds to the ?? operator in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullCoalescing.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that evaluates the first operand and results in its value if it is not null. Otherwise the second operand is evaluated and its value becomes the value
            of the expression. This corresponds to the ?? operator in C#.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullCoalescing.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NullCoalescing)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullCoalescing.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NullCoalescing) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullCoalescing.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullCoalescing.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullCoalescing.ProjectAsNonConstantIExpression">
            <summary>
            Returns let temp = a in temp == null ? b : (T)temp where T is the type of a (after removing ? if there) or type of b.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullCoalescing.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NullCoalescing.LeftOperand">
            <summary>
            The left operand.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NullCoalescing.RightOperand">
            <summary>
            The right operand.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NullCoalescing.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NullLiteral">
            <summary>
            A compile time constant that represents the null literal.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullLiteral.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a compile time constant that represents the null literal.
            </summary>
            <param name="sourceLocation">The location in the source text of the expression that corresponds to this constant.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullLiteral.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CompileTimeConstant)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullLiteral.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NullLiteral.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.OutArgument">
            <summary>
            An expression that must match an out parameter of a method. The method assigns a value to the target Expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that must match an out parameter of a method. The method assigns a value to the target Expression.
            </summary>
            <param name="expression">The target that is assigned to as a result of the method call that contains this out argument.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.OutArgument)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IOutArgument) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(OutArgument) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OutArgument.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OutArgument.Expression">
            <summary>
            The target that is assigned to as a result of the method call.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OutArgument.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.OldValue">
            <summary>
            An expression that represents the value that a target expression had at the start of the method that as a postcondition that includes this expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that represents the value that a target expression had at the start of the method that as a postcondition that includes this expression.
            </summary>
            <param name="expression">The expression whose value at the start of method execution is referred to in the method postcondition.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated source item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.OldValue)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied postcondition. This should be different from the containing block of the template postcondition.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IOldValue).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(OldValue).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OldValue.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OldValue.Expression">
            <summary>
            The expression whose value at the start of method execution is referred to in the method postcondition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OldValue.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.OnesComplement">
            <summary>
            An expression that results in the bitwise not (1's complement) of the operand. When overloaded, this expression corresponds to a call to op_OnesComplement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnesComplement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the bitwise not (1's complement) of the operand. When overloaded, this expression corresponds to a call to op_OnesComplement.
            </summary>
            <param name="operand">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnesComplement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.OnesComplement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnesComplement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IOnesComplement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnesComplement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(OnesComplement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnesComplement.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnesComplement.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnesComplement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OnesComplement.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OnesComplement.CouldBeInterpretedAsUnsignedInteger">
            <summary>
            True if this expression is a constant negative integer that could also be interpreted as a unsigned integer.
            For example, 1 &lt;&lt; 31 could also be interpreted as a convenient way of writing 0x80000000.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OnesComplement.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OnesComplement.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Parenthesis">
            <summary>
            An expression that has been explicitly parenthesized in the source code.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that has been explicitly parenthesized in the source code.
            </summary>
            <param name="parenthesizedExpression">The parenthesized expression.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Parenthesis)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.IntegerConversionIsLossless(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns true if no information is lost if the integer value of this expression is converted to the target integer type.
            </summary>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Parenthesis) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Parenthesis.ToString">
            <summary>
            Returns a string representation of the expression for debugging and logging uses.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Parenthesis.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Parenthesis.ParenthesizedExpression">
            <summary>
            The parenthesized expression.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Parenthesis.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Parenthesis.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PartialName">
            <summary>
            An expression consisting of a the prefix of a simple name, for example "SimpleN".
            </summary>
            <remarks>This is intended for use by an editor that want to offer a list of completions for partially typed simple name.</remarks>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.#ctor(Microsoft.Cci.Ast.SimpleName)">
            <summary>
            Constructs an expression consisting of a the prefix of a simple name, for example "SimpleN".
            </summary>
            <param name="simpleName">The simple name to treat as partial name. Must be fully constructed.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.#ctor(Microsoft.Cci.Ast.SimpleName,System.Boolean)">
            <summary>
            Constructs an expression consisting of a the prefix of a simple name, for example "SimpleN".
            </summary>
            <param name="simpleName">The simple name to treat as partial name. Must be fully constructed.</param>
            <param name="ignoreCase">True if the case of the partial name must be ignored when resolving it.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Does nothing and always returns false.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Does nothing.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.GetValue">
            <summary>
            Always returns null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.InferType">
            <summary>
            Always return Dumm.Type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.GetContainingNamespace(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Gets the namespace in which the given type is contained. Also works for nested types.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.HasSideEffect(System.Boolean)">
            <summary>
            Always return false;
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Always returns this.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.ProjectAsNonConstantIExpression">
            <summary>
            Always return CodeDummy.Expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.GetCandidates">
            <summary>
            Returns a list of named entities that might bind to the partial name once completed.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.PopulateUsing(Microsoft.Cci.Ast.BlockStatement,System.Collections.Generic.List{Microsoft.Cci.INamedEntity})">
            <summary>
            Populates the given list with named entities that might bind to the partial name once completed,
            by using the scope chain of the given block.
            </summary>
            <param name="block">The block whose scope chain is used to resolve this name.</param>
            <param name="candidates">A list of named entities to which candidates should be added.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.PopulateUsing(Microsoft.Cci.Ast.ISignatureDeclaration,System.Collections.Generic.List{Microsoft.Cci.INamedEntity})">
            <summary>
            Populates the given list with named entities that might bind to the partial name once completed,
            by using the scope chain of the given method.
            </summary>
            <param name="signatureDeclaration">The signature bearing object whose scope chain is used to resolve this name.</param>
            <param name="candidates">A list of named entities to which candidates should be added.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.PopulateUsing(Microsoft.Cci.Ast.TypeDeclaration,System.Collections.Generic.List{Microsoft.Cci.INamedEntity})">
            <summary>
            Populates the given list with named entities that might bind to the partial name once completed,
            by using the scope chain of the given type declaration.
            </summary>
            <param name="typeDeclaration">The type whose scope chain is used to resolve this name.</param>
            <param name="candidates">A list of named entities to which candidates should be added.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.PopulateUsing(Microsoft.Cci.ITypeDefinition,System.Collections.Generic.List{Microsoft.Cci.INamedEntity})">
            <summary>
            Populates the given list with named entities that might bind to the partial name once completed,
            by using the scope chain of the given type definition.
            </summary>
            <param name="typeDefinition">The type whose members and inherited members are used to resolve this name.</param>
            <param name="candidates">A list of named entities to which candidates should be added.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.PopulateUsing(Microsoft.Cci.Ast.NamespaceDeclaration,System.Collections.Generic.List{Microsoft.Cci.INamedEntity})">
            <summary>
            Populates the given list with named entities that might bind to the partial name once completed,
            by using the scope chain of the given namespace declaration.
            </summary>
            <param name="namespaceDeclaration">The namespace to use to resolve this name.</param>
            <param name="candidates">A list of named entities to which candidates should be added.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PartialName.ToString">
            <summary>
            Returns this.Name.Value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PartialName.IgnoreCase">
            <summary>
            True if the case of the partial name must be ignored when resolving it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PartialName.Name">
            <summary>
            The name corresponding to the source expression.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PartialName.Type">
            <summary>
            Always return Dummy.Type.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PointerQualifiedName">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.QualifiedName">
            <summary>
            A name that is meaningful with respect to an object specified by the qualifier expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a name that is meaningful with respect to an object specified by the qualifier expression.
            </summary>
            <param name="qualifier">An expression that results in the qualifier object.</param>
            <param name="simpleName">A simple name that is resolved with respect to the object that the qualifier expression results in.</param>
            <param name="sourceLocation">The source location of the qualifier plus name.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.QualifiedName)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.FactoredExpression">
            <summary>
            Either returns this expression, or returns a BlockExpression that assigns each subexpression to a temporary local variable
            and then evaluates an expression that is the same as this expression, but which refers to the temporaries rather than the 
            factored out subexpressions. This transformation is useful when expressing the semantics of operation assignments and increment/decrement operations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(QualifiedName) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.Resolve(System.Boolean)">
            <summary>
            Returns either null or the type member that binds to this name using the compile time type of the Qualifier as resolution context.
            Method groups are represented by the first matching method definition in the most derived type that defines or overrides methods in the group. 
            Likewise for property groups and type groups.
            </summary>
            <param name="ignoreAccessibility">Set this to true when the qualified name has failed to resolve and an appropriate error has to be
            generated. In particular, if the qualified name can resolve to an inaccessible member, the error will say as much.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ResolveAsNamespaceOrTypeGroup(System.Boolean)">
            <summary>
            Returns either null or the namespace or type group that binds to this name after resolving the Qualifier as a namespace or type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ResolveAsType(System.Object)">
            <summary>
            
            </summary>
            <param name="resolvedQualifier"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ResolveAsValueContainer(System.Boolean)">
            <summary>
            Returns the event, field or property that binds to this qualified name using the applicable scope chain and compilation context.
            Returns null if qualified name does not bind to one of the above cases.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ResolveQualifierAsNamespace(System.Boolean)">
            <summary>
            Resolves the qualifier as a namespace, provided that it is a simple name. Returns null if this is not possible.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ResolveQualifierAsNamespaceOrType(System.Boolean)">
            <summary>
            Resolves the qualifier as a namespace or as a type. Returns null if this is not possible.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ResolveTypeMember(Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            Finds a type member with this.SimpleName as its name. Runs up the base type chain if necessary. Returns strictly the first match.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of the object. This allows bottom up parsers to construct a QualifiedName before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itslef should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QualifiedName.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.QualifiedName.Instance">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.QualifiedName.Qualifier">
            <summary>
            An expression that binds to an object or a type or a namespace, or something else that can serve to constrain what the name binds to.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.QualifiedName.SimpleName">
            <summary>
            The name of an entity that is associated with the qualifier object.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.QualifiedName.Type">
            <summary>
            The type of value this qualified name will evaluate to, as determined at compile time. 
            If the qualified name does not represent an expression that results in a value, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="qualifier"></param>
            <param name="simpleName"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PointerQualifiedName)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.RhsToStringForError">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.FactoredExpression">
            <summary>
            Either returns this expression, or returns a BlockExpression that assigns each subexpression to a temporary local variable
            and then evaluates an expression that is the same as this expression, but which refers to the temporaries rather than the 
            factored out subexpressions. This transformation is useful when expressing the semantics of operation assignments and increment/decrement operations.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.ResolveTypeMember(Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            Finds a type member with this.SimpleName as its name. Runs up the base type chain if necessary. Returns strictly the first match.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerQualifiedName.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.PointerQualifiedName.Instance">
            <summary>
            If the expression binds to an instance field then this property is not null and contains the instance.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PointerCall">
            <summary>
            An expression that calls a method indirectly via a function pointer.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerCall.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.IExpression},Microsoft.Cci.IExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that calls a method indirectly via a function pointer.
            </summary>
            <param name="arguments">The arguments to pass to the method, after they have been converted to match the parameters of the method.</param>
            <param name="pointer">An expression that results at runtime in a function pointer that points to the actual method to call.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerCall.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IPointerCall).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerCall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerCall.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PointerCall.Arguments">
            <summary>
            The arguments to pass to the method, after they have been converted to match the parameters of the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PointerCall.IsTailCall">
            <summary>
            True if this method call terminates the calling method. It indicates that the calling method's stack frame is not required
            and can be removed before executing the call.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PointerCall.Pointer">
            <summary>
            An expression that results at runtime in a function pointer that points to the actual method to call.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PointerCall.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PointerTypeExpression">
            <summary>
            An expression that denotes a pointer type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that denotes a pointer type.
            </summary>
            <param name="elementType">The type of value that the pointer points to.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PointerTypeExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PointerTypeExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.Resolve">
            <summary>
            Returns the type denoted by the expression. If expression cannot be resolved, a dummy type is returned. If the expression is ambiguous the first matching type is returned.
            If the expression does not resolve to exactly one type, an error is added to the error collection of the compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PointerTypeExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PointerTypeExpression.ElementType">
            <summary>
            The type of value that the pointer points to.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PopulateCollection">
            <summary>
            An expression that Populates a newly constructed collection by adding zero or more elements to it via ICollection.Add.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PopulateCollection.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that Populates a newly constructed collection by adding zero or more elements to it via ICollection.Add.
            </summary>
            <param name="collectionToPopulate">The newly constructed collection to populate.</param>
            <param name="elementValues">A list of expressions that result in values that are added to the constructed object via calls to ICollection.Add.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PopulateCollection.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PopulateCollection)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PopulateCollection.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PopulateCollection) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PopulateCollection.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PopulateCollection.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PopulateCollection.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PopulateCollection.CollectionToPopulate">
            <summary>
            The newly constructed collection to populate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PopulateCollection.ElementValues">
            <summary>
            A list of expressions that result in values that are added to the constructed object via calls to ICollection.Add.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PopulateCollection.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PostfixDecrement">
            <summary>
            An expression that subtracts one from the arithmetic value at the location denoted by the target expression, but results in the value at the location before the addition was performed.
            When overloaded, this expression corresponds to a call to op_Decrement.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PostfixUnaryOperationAssignment">
            <summary>
            An expression that performs an operation on the value at the location denoted by the target expression and results in the new value of the target.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnaryOperationAssignment">
            <summary>
            An operation performed on a single operand and that also assigns a new value to the memory location represented by the expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperationAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an operation performed on a single operand and that also assigns a new value to the memory location represented by the expression.
            </summary>
            <param name="target">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperationAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.UnaryOperationAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperationAssignment.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls this.ProjectAsIExpression().Dispatch(visitor);
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperationAssignment.FactoredOverloadCall(Microsoft.Cci.Ast.Expression,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns a call to the operator overload method, using the factored version of this.Operand.
            </summary>
            <param name="operand">The factored version of this.Operand.</param>
            <param name="overloadMethod">The operator overload method.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperationAssignment.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryOperationAssignment.GetConstantOneOfMatchingTypeForIncrementDecrement(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns a constant one to be used in pre-/post-fix increment/decrement operations
            </summary>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperationAssignment.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryOperationAssignment.Target">
            <summary>
            An assignable entity that contains the value to be operated upon and that will be updated by the assignment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixUnaryOperationAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an operation performed on a single operand and that also assigns a new value to the memory location represented by the expression.
            </summary>
            <param name="target">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixUnaryOperationAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PostfixUnaryOperationAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixUnaryOperationAssignment.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixUnaryOperationAssignment.VisitAsUnaryOperationAssignment(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixDecrement.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that subtracts one from the arithmetic value at the location denoted by the target expression, but results in the value at the location before the addition was performed.
            When overloaded, this expression corresponds to a call to op_Decrement.
            </summary>
            <param name="target">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixDecrement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PostfixDecrement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixDecrement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PostfixDecrement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixDecrement.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixDecrement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PostfixDecrement.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PostfixIncrement">
            <summary>
            An expression that adds one to the arithmetic value at the location denoted by the target expression, but results in the value at the location before the addition was performed.
            When overloaded, this expression corresponds to a call to op_Increment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixIncrement.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that adds one to the arithmetic value at the location denoted by the target expression, but results in the value at the location before the addition was performed.
            When overloaded, this expression corresponds to a call to op_Increment.
            </summary>
            <param name="target">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixIncrement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PostfixIncrement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixIncrement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PostfixIncrement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixIncrement.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PostfixIncrement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PostfixIncrement.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PrefixDecrement">
            <summary>
            An expression that subtracts one from the arithmetic value at the location denoted by the target expression and results in the decremented value.
            When overloaded, this expression corresponds to a call to op_Decrement.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PrefixUnaryOperationAssignment">
            <summary>
            An expression that performs an operation on the value at the location denoted by the target expression and results in the new value of the target.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixUnaryOperationAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an operation performed on a single operand and that also assigns a new value to the memory location represented by the expression.
            </summary>
            <param name="target">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixUnaryOperationAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PrefixUnaryOperationAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixUnaryOperationAssignment.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixDecrement.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that subtracts one from the arithmetic value at the location denoted by the target expression and results in the decremented value.
            When overloaded, this expression corresponds to a call to op_Decrement.
            </summary>
            <param name="target">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixDecrement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PrefixDecrement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixDecrement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PrefixDecrement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixDecrement.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixDecrement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PrefixDecrement.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PrefixIncrement">
            <summary>
            An expression that adds one to the arithmetic value at the location denoted by the target expression and results in the incremented value.
            When overloaded, this expression corresponds to a call to op_Increment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixIncrement.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that adds one to the arithmetic value at the location denoted by the target expression and results in the incremented value.
            When overloaded, this expression corresponds to a call to op_Increment.
            </summary>
            <param name="target">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixIncrement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PrefixIncrement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixIncrement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PrefixIncrement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixIncrement.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PrefixIncrement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PrefixIncrement.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PropertySetterValue">
            <summary>
            An expression that binds to the last parameter of a property setter.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertySetterValue.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that binds to the last parameter of a property setter.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertySetterValue.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.PropertySetterValue)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertySetterValue.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PropertySetterValue) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertySetterValue.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertySetterValue.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertySetterValue.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QuantifierCall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Range">
            <summary>
            A numeric range. Corresponds to expr To expr in VB. For example 1 to 5.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Range.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a numeric range. Corresponds to expr To expr in VB. For example 1 to 5.
            </summary>
            <param name="startValue">An expression resulting in the number starting the range.</param>
            <param name="endValue">An expression resulting in the number ending the range.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Range.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Range)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Range.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Range) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Range.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Range.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Range.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Range.EndValue">
            <summary>
            An expression resulting in the number ending the range.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Range.StartValue">
            <summary>
            An expression resulting in the number starting the range.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Range.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RefArgument">
            <summary>
            An expression that must match a ref parameter of a method. 
            The value of the target Expression before the call is passed to the method and the method may assigns a new value to the target Expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RefArgument.#ctor(Microsoft.Cci.Ast.AddressableExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that must match a ref parameter of a method. 
            The value of the target Expression before the call is passed to the method and the method may assigns a new value to the target Expression.
            </summary>
            <param name="expression">The target that is assigned to as a result of the method call, but whose value is also passed to the method at the start of the call.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RefArgument.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.RefArgument)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RefArgument.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IRefArgument) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RefArgument.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RefArgument) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RefArgument.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RefArgument.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RefArgument.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RefArgument.Expression">
            <summary>
            The target that is assigned to as a result of the method call, but whose value is also passed to the method at the start of the call.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RefArgument.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RightShift">
            <summary>
            An expression that results in the value of the left operand, shifted right by the number of bits specified by the value of the right operand, duplicating the sign bit.
            When the operator is overloaded, this expression corresponds to a call to op_RightShift.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShift.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the value of the left operand, shifted right by the number of bits specified by the value of the right operand, duplicating the sign bit.
            When the operator is overloaded, this expression corresponds to a call to op_RightShift.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShift.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.RightShift)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShift.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IRightShift) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShift.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RightShift) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShift.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShift.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShift.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RightShift.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RightShift.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RightShift.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RightShift.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RightShiftAssignment">
            <summary>
            An expression that results in the value of the left operand, shifted right by the number of bits specified by the value of the right operand, duplicating the sign bit.
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_RightShift.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShiftAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the value of the left operand, shifted right by the number of bits specified by the value of the right operand, duplicating the sign bit.
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_RightShift.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShiftAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.RightShiftAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShiftAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RightShiftAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShiftAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RightShiftAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a right shift expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.ReferenceEquality">
            <summary>
            An expression that results in true if both operands represent the object. In VB the Is operator corresponds to this expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceEquality.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceEquality.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ReferenceEquality)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceEquality.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceEquality.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ReferenceEquality) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceEquality.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceEquality.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceEquality.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ReferenceEquality.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ReferenceEquality.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ReferenceInequality">
            <summary>
            An expression that results in true if the left operand is a different object than the right operand.  In VB the IsNot operator corresponds to this expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceInequality.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceInequality.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ReferenceInequality)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceInequality.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceInequality.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ReferenceInequality) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceInequality.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceInequality.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReferenceInequality.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ReferenceInequality.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ReferenceInequality.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResolvedMethodCall">
            <summary>
            An expression that respresents a call to a method that has already been resolved by the time this expression is constructed.
            Only for use during projection. I.e. do not contruct this kind of expression from a parser.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedMethodCall.#ctor(Microsoft.Cci.IMethodDefinition,System.Collections.Generic.List{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that respresents a call to a method that has already been resolved by the time this expression is constructed.
            Only for use during projection. I.e. do not construct this kind of expression from a parser.
            </summary>
            <param name="resolvedMethod">The resolved method to call. This method must be static.</param>
            <param name="convertedArguments">
            The arguments to pass to the resolved method, after they have been converted to match the parameters of the resolved method.
            Must be fully initialized.
            </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedMethodCall.#ctor(Microsoft.Cci.IMethodDefinition,Microsoft.Cci.Ast.Expression,System.Collections.Generic.List{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Only for use during projection. I.e. do not construct this node from a parser.
            </summary>
            <param name="resolvedMethod">The resolved method to call. This method must not be static.</param>
            <param name="thisArgument">The this argument of the method. Must be fully initialized.</param>
            <param name="convertedArguments">
            The arguments to pass to the resolved method, after they have been converted to match the parameters of the resolved method.
            Must be fully initialized.
            </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedMethodCall.ConvertArguments">
            <summary>
            The arguments to pass to the resolved method, after they have been converted to match the parameters of the resolved method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedMethodCall.GetCandidateMethods(System.Boolean)">
            <summary>
            Returns a collection of methods that represent the constructors for the named type.
            </summary>
            <param name="allowMethodParameterInferencesToFail">This flag is ignored, since constructors cannot have generic parameters.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedMethodCall.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedMethodCall.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedMethodCall.ThisArgument">
            <summary>
            The this argument of the method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ReturnValue">
            <summary>
            An expression that refers to the return value of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that refers to the return value of a method.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ReturnValue)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IReturnValue) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ReturnValue) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.InferType">
            <summary>
            Infers the type of value that this expression will evaluate to. At runtime the actual value may be an instance of subclass of the result of this method.
            Calling this method does not cache the computed value and does not generate any error messages. In some cases, such as references to the parameters of lambda
            expressions during type overload resolution, the value returned by this method may be different from one call to the next.
            When type inference fails, Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnValue.ReportNoContainingSignatureError">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ReturnValue.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RootNamespaceExpression">
            <summary>
            An expression that denotes the root namespace of a compilation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceExpression.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that denotes the root namespace of a compilation.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.RootNamespaceExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RootNamespaceExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression">
            <summary>
            An expression that denotes the runtime argument handle of a method that accepts extra arguments. 
            This expression corresponds to __arglist in C# and results in a value that can be used as the argument to the constructor for System.ArgIterator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that denotes the runtime argument handle of a method that accepts extra arguments. 
            This expression corresponds to __arglist in C# and results in a value that can be used as the argument to the constructor for System.ArgIterator.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.RuntimeArgumentHandleExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IRuntimeArgumentHandleExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RuntimeArgumentHandleExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RuntimeArgumentHandleExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ScaledIndex">
            <summary>
            An index expression multiplied by a scale factor, representing a pointer offset.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ScaledIndex.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an index expression multiplied by a scale factor, representing a pointer offset.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ScaledIndex.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ScaledIndex)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ScaledIndex.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ScaledIndex.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SimpleName">
            <summary>
            An expression consisting of a simple name, for example "SimpleName".
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.#ctor(Microsoft.Cci.IName,Microsoft.Cci.ISourceLocation,System.Boolean)">
            <summary>
            Constructs an expression consisting of a simple name, for example "SimpleName".
            Use this constructor when constructing a new simple name. Do not give out the resulting instance to client
            code before completing the initialization by calling SetContainingExpression on the instance.
            </summary>
            <param name="name">The name to be wrapped as an expression.</param>
            <param name="sourceLocation">The source location of the SimpleName expression.</param>
            <param name="ignoreCase">True if the case of the simple name must be ignored when resolving it.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.SimpleName)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit(SimpleName).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.InferType">
            <summary>
            Determines the type of value this simple name will evaluate to, as determined at compile time. 
            If the simple name does not represent an expression that results in a value, Dummy.Type is returned.
            (The latter can happen when the simple name serves as the qualifier in a qualified name.)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.GetContainingNamespace(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Gets the namespace in which the given type is contained. Also works for nested types.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.Resolve">
            <summary>
            Returns either null or the local variable, parameter, type parameter, type member, namespace member or type
            that binds to this name using the applicable scope chain and compilation context. Method groups are represented by the
            first matching method definition in the most derived type that defines or overrides methods in the group. Likewise for
            property groups and type groups.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveAsNamespaceOrType(System.Boolean)">
            <summary>
            Returns either null or the namespace or type that binds to this name using the applicable scope chain and compilation context.
            When the name binds to both a type and and a namespace, only the type is returned. When the name binds to more than one
            type, a type group is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveAsNamespace">
            <summary>
            Returns either null or the namespace or that binds to this name using the applicable scope chain and compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveAsTargetStatement">
            <summary>
            Returns the statement labeled with this name and located in the same block as this name, or in a containing block.
            Returns Dummy.LabeledStatement if no such statement can be found.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveAsValueContainer">
            <summary>
            Returns either null or the local variable, parameter, field or property
            that binds to this name using the applicable scope chain and compilation context.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveUsing(Microsoft.Cci.Ast.BlockStatement,System.Boolean)">
            <summary>
            Returns either null or the local variable, parameter, type parameter, type member, namespace member or type
            that binds to this name using the scope chain of the given block.
            </summary>
            <param name="block">The block whose scope chain is used to resolve this name.</param>
            <param name="restrictToNamespacesAndTypes">True if only namespaces and types should be considered when resolving this name.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveUsing(Microsoft.Cci.Ast.ISignatureDeclaration,System.Boolean)">
            <summary>
            Returns either null or the local variable, parameter, type parameter, type member, namespace member or type
            that binds to this name using the scope chain of the given method.
            </summary>
            <param name="signatureDeclaration">The signature bearing object whose scope chain is used to resolve this name.</param>
            <param name="restrictToNamespacesAndTypes">True if only namespaces and types should be considered when resolving this name.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveUsing(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Returns either null or the local variable, parameter, type parameter, type member, namespace member or type
            that binds to this name using the scope chain of the given type declaration. Uses a cache.
            </summary>
            <param name="typeDeclaration">The type whose scope chain is used to resolve this name.</param>
            <param name="restrictToNamespacesAndTypes">True if only namespaces and types should be considered when resolving this name.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveUsing(Microsoft.Cci.ITypeDefinition,System.Boolean)">
            <summary>
            Returns either null or the type member group or namespace member that binds to this name.
            </summary>
            <param name="typeDefinition">The type whose members and inherited members are used to resolve this name.</param>
            <param name="restrictToNamespacesAndTypes">True if only namespaces and types should be considered when resolving this name.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.NamespaceDeclIsBusy(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            
            </summary>
            <param name="nd"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ResolveUsing(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Returns either null or the namespace member (group) that binds to this name. 
            This implementation of this method ignores global methods and variables, as is the case for C#. //TODO: is this really the case?
            </summary>
            <param name="namespaceDeclaration">The namespace to use to resolve this name.</param>
            <param name="restrictToNamespacesAndTypes">True if only namespaces and types should be considered when resolving this name.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SimpleName.ToString">
            <summary>
            Returns this.Name.Value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SimpleName.IgnoreCase">
            <summary>
            True if the case of the simple name must be ignored when resolving it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SimpleName.Name">
            <summary>
            The name corresponding to the source expression.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SimpleName.ResolvesToLocalOrParameter">
            <summary>
            Returns true if this resolves to a local declaration or a 
            call parameter of the current method. Used for finding a
            worthwhile QualifiedName.Qualifier to cache in FactoredExpression.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SimpleName.Type">
            <summary>
            The type of value this simple name will evaluate to, as determined at compile time. 
            If the simple name does not represent an expression that results in a value, Dummy.Type is returned.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SizeOf">
            <summary>
            An expression that computes the memory size of instances of a given type at runtime.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that computes the memory size of instances of a given type at runtime.
            </summary>
            <param name="expression">The type to size.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.SizeOf)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ISizeOf) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(SizeOf) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SizeOf.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SizeOf.Expression">
            <summary>
            The type to size.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SizeOf.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SizeOf.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Slice">
            <summary>
            An expression that represents a contiguous range of collection elements such as a substring.
            In VB the target expression of a Mid assignment statement corresponds to this expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Slice.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="collection"></param>
            <param name="startIndex"></param>
            <param name="length"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Slice.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Slice)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Slice.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Slice.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Slice) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Slice.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Slice.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Slice.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Slice.Collection">
            <summary>
            An expression that results in a collection or sort (such as a string).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Slice.Length">
            <summary>
            The number of elements that form part of the slice.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Slice.StartIndex">
            <summary>
            The index of the first element from the collection that forms part of the slice.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Slice.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.StringConcatenation">
            <summary>
            An expression that results in the concatenation of the string representations of its left and right operands. In VB the &amp; operator corresponds to this expression.
            When overloaded, this expression corresponds to a call to op_Concatenation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StringConcatenation.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.StringConcatenation.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.StringConcatenation)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.StringConcatenation.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StringConcatenation.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(StringConcatenation) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StringConcatenation.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StringConcatenation.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.StringConcatenation.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.StringConcatenation.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Subtraction">
            <summary>
            An expression that subtracts the value of the right operand from the value of the left operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Subtraction.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            An expression that subtracts the value of the right operand from the value of the left operand. 
            When the operator is overloaded, this expression corresponds to a call to op_Subtraction.
            </summary>
            <param name="leftOperand">The left operand.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Subtraction)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ISubtraction) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(Subtraction) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.Subtraction.flags">
            <summary>
            Storage for boolean properties. 1=Use checked arithmetic.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.ProjectAsPointerMinusIndex(System.Collections.Generic.List{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns an expression corresponding to ptr - index*sizeof(T) where ptr is the first element of args, index is the second
            and T is targetType, the type of element that ptr points to.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Subtraction.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Subtraction.CheckOverflow">
            <summary>
            The subtraction must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Subtraction.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Subtraction.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Subtraction.TreatOperandsAsUnsignedIntegers">
            <summary>
            If true the operands must be integers and are treated as being unsigned for the purpose of the subtraction. This only makes a difference if CheckOverflow is true as well.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Subtraction.PointerSubtraction.ResultIsUnmodifiedLeftOperand">
            <summary>
            If true, the left operand must be a target expression and the result of the binary operation is the
            value of the target expression before it is assigned the value of the operation performed on
            (right hand) values of the left and right operands.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SubtractionAssignment">
            <summary>
            An expression that subtracts the value of the right operand from the value of the left operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Subtraction.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SubtractionAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            An expression that subtracts the value of the right operand from the value of the left operand. 
            The result of the expression is assigned to the left operand, which must be a target expression.
            When the operator is overloaded, this expression corresponds to a call to op_Subtraction.
            </summary>
            <param name="leftOperand">The left operand and target of the assignment.</param>
            <param name="rightOperand">The right operand.</param>
            <param name="sourceLocation">The source location of the operation.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SubtractionAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.SubtractionAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SubtractionAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(SubtractionAssignment) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SubtractionAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SubtractionAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates a subtraction expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.ThisReference">
            <summary>
            An expression that binds to the current object instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThisReference.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that binds to the current object instance.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThisReference.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that binds to the current object instance.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThisReference.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ThisReference)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThisReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IThisReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThisReference.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ThisReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThisReference.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThisReference.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ThisReference.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeOf">
            <summary>
            An expression that results in a System.Type instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeOf.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in a System.Type instance.
            </summary>
            <param name="expression">The type that will be represented by the System.Type instance.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeOf.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TypeOf)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeOf.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ITypeOf) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeOf.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(TypeOf) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeOf.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeOf.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeOf.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeOf.Expression">
            <summary>
            The type that will be represented by the System.Type instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeOf.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnaryNegation">
            <summary>
            An expression that results in the arithmetic negation of the given operand. When overloaded, this expression corresponds to a call to op_UnaryNegation.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the arithmetic negation of the given operand. When overloaded, this expression corresponds to a call to op_UnaryNegation.
            </summary>
            <param name="operand">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.UnaryNegation)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IUnaryNegation) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(UnaryNegation) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.OverloadCall">
            <summary>
            Returns the user defined or standard operator method that matches this operation.
            </summary>
            <returns></returns>
        </member>
        <member name="F:Microsoft.Cci.Ast.UnaryNegation.flags">
            <summary>
            Storage for boolean properties. 1=Use checked arithmetic.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryNegation.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryNegation.CheckOverflow">
            <summary>
            The subtraction must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryNegation.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryNegation.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnaryPlus">
            <summary>
            An expression that results in the arithmetic value of the given operand. When overloaded, this expression corresponds to a call to op_UnaryPlus.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryPlus.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an expression that results in the arithmetic value of the given operand. When overloaded, this expression corresponds to a call to op_UnaryPlus.
            </summary>
            <param name="operand">The value on which the operation is performed.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryPlus.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.UnaryPlus)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryPlus.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IUnaryPlus) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryPlus.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(UnaryPlus) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryPlus.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryPlus.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnaryPlus.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryPlus.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnaryPlus.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UncheckedExpression">
            <summary>
            An expression that wraps an inner expression and causes the inner expression to be evaluated using arithmetic operators that do not check for overflow (by using modulo arithmentic).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            An expression that wraps an inner expression and causes the inner expression to be evaluated using arithmetic operators that do not check for overflow (by using modulo arithmentic).
            </summary>
            <param name="operand">The expression to evaluate while ignoring arithmetic overflow.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.UncheckedExpression)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(UncheckedExpression) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.GetValue">
            <summary>
            Computes the compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.HasSideEffect(System.Boolean)">
            <summary>
            Checks if the expression has a side effect and reports an error unless told otherwise.
            </summary>
            <param name="reportError">If true, report an error if the expression has a side effect.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UncheckedExpression.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct an Expression before constructing the containing Expression.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UncheckedExpression.CouldBeInterpretedAsNegativeSignedInteger">
            <summary>
            True if the constant is a positive integer that could be interpreted as a negative signed integer.
            For example, 0x80000000, could be interpreted as a convenient way of writing int.MinValue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UncheckedExpression.Operand">
            <summary>
            The value on which the operation is performed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UncheckedExpression.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UncheckedExpression.ValueIsPolymorphicCompileTimeConstant">
            <summary>
            Returns true if the expression represents a compile time constant without an explicitly specified type. For example, 1 rather than 1L.
            Constant expressions such as 2*16 are polymorhpic if both operands are polymorhic.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnsignedRightShift">
            <summary>
            An expression that results in the value of the left operand, shifted right by the number of bits specified by the value of the right operand, filling with zeros.
            This is for >>>.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShift.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShift.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.UnsignedRightShift)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShift.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShift.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShift.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(UnsignedRightShift) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShift.GetOperatorName">
            <summary>
            Returns the name a method must have to overload this operator.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnsignedRightShift.OperationSymbolForErrorMessage">
            <summary>
            Returns the string used to identify the operator in error messages
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnsignedRightShift.StandardOperators">
            <summary>
            A list of dummy methods that correspond to operations that are built into IL. The dummy methods are used, via overload resolution,
            to determine how the operands are to be converted before the operation is carried out.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnsignedRightShiftAssignment">
            <summary>
            An expression that results in the value of the left operand, shifted right by the number of bits specified by the value of the right operand, filling with zeros.
            The result of the expression is assigned to the left operand, which must be a target expression.
            This is for >>>=.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShiftAssignment.#ctor(Microsoft.Cci.Ast.TargetExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="leftOperand"></param>
            <param name="rightOperand"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShiftAssignment.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.UnsignedRightShiftAssignment)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShiftAssignment.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShiftAssignment.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnsignedRightShiftAssignment.CreateBinaryExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Creates an unsigned right shift expression with the given left operand and this.RightOperand.
            The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
            they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
            </summary>
            <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
        </member>
        <member name="T:Microsoft.Cci.Ast.VectorLength">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.VectorLength.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="vector"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.VectorLength.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IVectorLength) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.VectorLength.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this expression, changing the ContainingBlock to the given block.
            </summary>
            <param name="containingBlock"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.VectorLength.ProjectAsNonConstantIExpression">
            <summary>
            Returns an object that implements IExpression and that represents this expression after language specific rules have been
            applied to it in order to determine its semantics. The resulting expression is a standard representation of the semantics
            of this expression, suitable for use by language agnostic clients and complete enough for translation of the expression
            into IL.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.VectorLength.Type">
            <summary>
            The type of value that the expression will evaluate to, as determined at compile time.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.VectorLength.Vector">
            <summary>
            An expression that results in a value of a vector (zero-based one-dimensional array) type.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceHelper">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceHelper.CreateInSystemDiagnosticsContractsCodeContractExpr(Microsoft.Cci.INameTable,System.String)">
            <summary>
            
            </summary>
            <param name="nameTable"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceHelper.SystemDiagnosticsContractsCodeContractString">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ITypeDeclarationMember">
            <summary>
            A member of a type declaration, such as a field or a method.
            This interface models the source representation of a type member.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ITypeDeclarationMember.GetDefaultVisibility">
            <summary>
            Returns the visibility that applies by default to this member if no visibility was supplied in the source code.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ITypeDeclarationMember.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeDeclarationMember.ContainingTypeDeclaration">
            <summary>
            The type declaration that contains this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeDeclarationMember.IsNew">
            <summary>
            Indicates that this member is intended to hide the name of an inherited member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeDeclarationMember.IsUnsafe">
            <summary>
            True if the member exposes an unsafe type, such as a pointer.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeDeclarationMember.Name">
            <summary>
            The name of the member. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeDeclarationMember.TypeDefinitionMember">
            <summary>
            The symbol table object that represents the metadata for this member. May be null if this member does not generate metadata.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ITypeDeclarationMember.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BitFieldDeclaration">
            <summary>
            A bit field is a member that represents a bit aligned variable associated with an object or class.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.FieldDeclaration">
            <summary>
            A field is a member that represents a variable associated with an object or class.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeDeclarationMember">
            <summary>
            A member of a type declaration, such as a field or a method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IAggregatableTypeDeclarationMember">
            <summary>
            Implemented by type declaration members (such as nested types) that can be aggegrated with other declarations into a single definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IAggregatableTypeDeclarationMember.AggregatedMember">
            <summary>
            The single definition that is associated with this declaration and possibly other declarations too.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},System.Boolean,System.Boolean,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a member of a type declaration, such as a field or a method.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. Some of these may not end up in persisted metadata.
            For example in C# a custom attribute is used to specify IFieldDefinition.IsNotSerialized. This custom attribute is deleted by the compiler.</param>
            <param name="isNew">Indicates that this member is intended to hide the name of an inherited member.</param>
            <param name="isUnsafe">True if the member exposes an unsafe type, such as a pointer.</param>
            <param name="visibility">Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.</param>
            <param name="name">The name of the member. </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclarationMember.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes a member of a type declaration, such as a field or a method.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. Some of these may not end up in persisted metadata.
            For example in C# a custom attribute is used to specify IFieldDefinition.IsNotSerialized. This custom attribute is deleted by the compiler.</param>
            <param name="flags">A set of flags that specify the value of boolean properties of the member, such as IsNew.</param>
            <param name="visibility">Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.</param>
            <param name="name">The name of the member. </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.TypeDeclarationMember)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing type.
            </summary>
            <param name="containingTypeDeclaration">The containing type of the copied member. This should be different from the containing type of the template member.</param>
            <param name="template">The type member to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclarationMember.containingTypeDeclaration">
            <summary>
            The type declaration that contains this member.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclarationMember.flags">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.GetDefaultVisibility">
            <summary>
            Returns the visibility that applies by default to this member if no visibility was supplied in the source code.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.GetSourceAttributes">
            <summary>
            If no source attributes were supplied to the constructor, this method will get called to supply them when
            the SourceAttributes property is evaluated. If this method returns null, it will be called every time
            the property is evaluated. If this is too expensive, be sure to return an empty list rather than null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclarationMember.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.Compilation">
            <summary>
            The compilation that this declaration forms a part of.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.CompilationPart">
            <summary>
            The compilation part that this declaration forms a part of.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.ContainingTypeDeclaration">
            <summary>
            The type declaration that contains this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.HasErrors">
            <summary>
            Checks the member for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.Helper">
            <summary>
            An instance of a language specific class containing methods that are of general utility. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.IsNew">
            <summary>
            Indicates that this member is intended to hide the name of an inherited member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.IsUnsafe">
            <summary>
            True if the member exposes an unsafe type, such as a pointer.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.Name">
            <summary>
            The name of the member. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.NameTable">
            <summary>
            A table used to intern strings used as names. This table is obtained from the host environment.
            It is mutuable, in as much as it is possible to add new names to the table.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.SourceAttributes">
            <summary>
            Custom attributes that are explicitly specified in source. Some of these may not end up in persisted metadata.
            For example in C# a custom attribute is used to specify IFieldDefinition.IsNotSerialized. This custom attribute is deleted by the compiler.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.TypeDefinitionMember">
            <summary>
            The symbol table object that represents the metadata for this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclarationMember.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeDeclarationMember.Flags">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclarationMember.Flags.New">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclarationMember.Flags.Unsafe">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.FieldDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a member that represents a variable associated with an object or class.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. May be null.
            Some of these may not end up in persisted metadata.
            For example in C# a custom attribute is used to specify IFieldDefinition.IsNotSerialized. Such a custom attribute is deleted by the compiler.</param>
            <param name="flags">A set of flags that specify the value of boolean properties of the field, such as IsStatic.</param>
            <param name="visibility">Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.</param>
            <param name="type">An expression that denote the type of value that is stored in this field.</param>
            <param name="name">The name of the member. </param>
            <param name="initializer">An expression that evaluates to the initial value of this field. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.FieldDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing type.
            </summary>
            <param name="containingTypeDeclaration">The containing type of the copied member. This should be different from the containing type of the template member.</param>
            <param name="template">The type member to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.AddInitializingAssignmentsTo(System.Collections.Generic.ICollection{Microsoft.Cci.Ast.Statement})">
            <summary>
            Adds zero or more assignments statements to the giving collection. Executing these statements will initialize the field.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the field or a constituent part of the field.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.ConvertInitializer">
            <summary>
            Converts this.Initializer to this.Type.ResolvedType.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(FieldDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.GetCompileTimeValue">
            <summary>
            Returns the value of the intializer expression, provided that the expression
            has been provided, can be converted to the type of the field and has a value at compile time.
            Otherwise returns an instance of DummyConstant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.GetMappedData">
            <summary>
            Returns a byte array representing the part of the process image to which this field will be mapped. Can be null.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.initializer">
            <summary>
            An expression that evaluates to the initial value of this field. May be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.AutomaticEventHookup">
            <summary>
            True if one or more of the events exposed by the type object stored in this field will be automatically handled by methods declared
            in this parent type of this field. In VB this corresponds to the WithEvents modifier.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.BitLength">
            <summary>
            The number of least significant bits that form part of the value of the field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.ConvertedInitializer">
            <summary>
            An expression that converts the value of this.Initializer to this.Type.ResolvedType using an implicit conversion.
            If this.Intializer is null, this.ConvertedInitializer is also null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.CustomModifiers">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.FieldDefinition">
            <summary>
            The symbol table object that represents the metadata for this event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.CompileTimeValue">
            <summary>
            The compile time value of the field. This value should be used directly in IL, rather than a reference to the field.
            If the field does not have a valid compile time value, Dummy.Constant is returned.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.FieldMapping">
            <summary>
            Information of the location where this field is mapped to
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.Initializer">
            <summary>
            An expression that evaluates to the initial value of this field. May be null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsBitField">
            <summary>
            The field is aligned on a bit boundary and uses only the BitLength number of least significant bits of the representation of a Type value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsCompileTimeConstant">
            <summary>
            This field is a compile-time constant. The field has no runtime location and cannot be directly addressed from IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsMapped">
            <summary>
            This field is mapped to an explicitly initialized (static) memory location.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsMarshalledExplicitly">
            <summary>
            This field has associated field marshalling information.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsModified">
            <summary>
            This field has custom modifiers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsNotSerialized">
            <summary>
            The field does not have to be serialized when its containing instance is serialized.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsReadOnly">
            <summary>
            This field is read only. It can only be assigned to in a constructor.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsRuntimeSpecial">
            <summary>
            True if the field gets special treatment from the runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsSpecialName">
            <summary>
            This field is special in some way, as specified by the name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsStatic">
            <summary>
            This field is static (shared by all instances of its declaring type).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.IsVolatile">
            <summary>
            The field value is never cached, but written and read directly from memory.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.MarshallingInformation">
            <summary>
            Specifies how this field is marshalled when it is accessed from unmanaged code.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.Offset">
            <summary>
            Offset of the field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.Type">
            <summary>
            An expression that denote the type of value that is stored in this field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDeclaration.TypeDefinitionMember">
            <summary>
            The symbol table object that represents the metadata for this member.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.FieldDeclaration.Flags">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.New">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.Unsafe">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.AutomaticEventHookup">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.Constant">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.ReadOnly">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.RuntimeSpecial">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.SpecialName">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.Static">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FieldDeclaration.Flags.Volatile">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitFieldDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.FieldDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a member that represents a variable associated with an object or class.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. May be null.
            Some of these may not end up in persisted metadata.
            For example in C# a custom attribute is used to specify IFieldDefinition.IsNotSerialized. Such a custom attribute is deleted by the compiler.</param>
            <param name="bitLengthExpression">An expression that is expected to result in the number of bits that form part of the value of the field.</param>
            <param name="flags">A set of flags that specify the value of boolean properties of the field, such as IsStatic.</param>
            <param name="visibility">Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.</param>
            <param name="type">An expression that denote the type of value that is stored in this field.</param>
            <param name="name">The name of the member. </param>
            <param name="initializer">An expression that evaluates to the initial value of this field. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitFieldDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.BitFieldDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing type.
            </summary>
            <param name="containingTypeDeclaration">The containing type of the copied member. This should be different from the containing type of the template member.</param>
            <param name="template">The type member to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitFieldDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BitFieldDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BitFieldDeclaration.BitLength">
            <summary>
            The number of bits that form part of the value of the field. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BitFieldDeclaration.BitLengthExpression">
            <summary>
            An expression that is expected to result in a positive integer compile time constant.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BitFieldDeclaration.IsBitField">
            <summary>
            The field is aligned on a bit boundary and uses only the BitLength number of least significant bits of the representation of a Type value.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EnumMember">
            <summary>
            A constant field that represents an enumeration values.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EnumMember.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a constant field that represents an enumeration values.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. May be null. Some of these may not end up in persisted metadata.
            For example in C# a custom attribute is used to specify IFieldDefinition.IsNotSerialized. Such a custom attribute is deleted by the compiler.</param>
            <param name="type">An expression that denote the type of value that is stored in this field.</param>
            <param name="name">The name of the value. </param>
            <param name="initializer">An expression that evaluates to the initial value of this field. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EnumMember.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.EnumMember)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing type.
            </summary>
            <param name="containingTypeDeclaration">The containing type of the copied member. This should be different from the containing type of the template member.</param>
            <param name="template">The type member to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EnumMember.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EnumMember.ConvertedInitializer">
            <summary>
            An expression that converts the value of this.Initializer to this.Type.ResolvedType using an implicit conversion.
            If this.Intializer is null, this.ConvertedInitializer is also null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EnumMember.Initializer">
            <summary>
            An expression that evaluates to the value of this enumeration member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EnumMember.PreviousMember">
            <summary>
            The previous enumeration member. Null if this member is the first in the enumeration.
            Used to work out the default value for the member.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EventDeclaration">
            <summary>
            An event is a member that enables an object or class to provide notifications. Clients can attach executable code for events by supplying event handlers.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.EventDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.BlockStatement,System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an event member that enables an object or class to provide notifications. Clients can attach executable code for events by supplying event handlers.
            This overload provides for events that have explcitly specified methods for adding and removing handlers.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. May be null.
            Some of these may not end up in persisted metadata.</param>
            <param name="flags">A set of flags that specify the value of boolean properties of the member, such as IsNew.</param>
            <param name="visibility">Indicates if the event is public or confined to its containing type, derived types and/or declaring assembly.</param>
            <param name="type">An expression that denote the (delegate) type of the handlers that will handle the event.</param>
            <param name="implementedInterfaces">A list of interfaces whose corresponding abstract events are implemented by this event.</param>
            <param name="name">The name of the member. </param>
            <param name="adderAttributes">Custom attributes specified directly on the adder method.</param>
            <param name="adderBody">The body of the adder method. May be null for field like events.</param>
            <param name="removerAttributes">Custom attributes specified directly on the remover method.</param>
            <param name="removerBody">The body of the remover method. May be null for field like events.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.EventDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an event member that enables an object or class to provide notifications. Clients can attach executable code for events by supplying event handlers.
            This overload provides for field like events.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. May be null.
            Some of these may not end up in persisted metadata.</param>
            <param name="flags">A set of flags that specify the value of boolean properties of the member, such as IsNew.</param>
            <param name="visibility">Indicates if the event is public or confined to its containing type, derived types and/or declaring assembly.</param>
            <param name="type">An expression that denote the (delegate) type of the handlers that will handle the event.</param>
            <param name="name">The name of the member. </param>
            <param name="initializer">An expression that evaluates to the initial handler for this event.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.EventDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing type.
            </summary>
            <param name="containingTypeDeclaration">The containing type of the copied member. This should be different from the containing type of the template member.</param>
            <param name="template">The type member to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(EventDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the event or a constituent part of the event.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.DefaultAdderBody">
            <summary>
            A body for use by the adder method of a field like event.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.DefaultRemoverBody">
            <summary>
            A body for use by the remover method of a field like event.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.AdderAttributes">
            <summary>
            Custom attributes specified directly on the adder method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.Adder">
            <summary>
            The method that is used to attach handlers to this event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.AdderBody">
            <summary>
            The body of the adder method. May be null for field like events.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.Caller">
            <summary>
            The method that is used to call the event handlers when the event occurs. May be null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.EventDefinition">
            <summary>
            The symbol table object that represents the metadata for this event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.ImplementedInterfaces">
            <summary>
            A list of interfaces whose corresponding abstract events are implemented by this event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.Initializer">
            <summary>
            An expression that evaluates to the initial handler for this event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsAbstract">
            <summary>
            True if the methods to add or remove handlers to or from the event are abstract.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsExternal">
            <summary>
            True if the methods to add or remove handlers to or from the event are defined externally.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsOverride">
            <summary>
            True if the methods to add or remove handlers to or from the event are overriding base class methods.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsRuntimeSpecial">
            <summary>
            True if the event gets special treatment from the runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsSealed">
            <summary>
            True if the methods to add or remove handlers to or from the event are sealed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsSpecialName">
            <summary>
            This event is special in some way, as specified by the name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsStatic">
            <summary>
            True if the methods to add or remove handlers to or from the event are static.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.IsVirtual">
            <summary>
            True if the methods to add or remove handlers to or from the event are virtual.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.Accessors">
            <summary>
            A list of methods that are associated with the event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.RemoverAttributes">
            <summary>
            Custom attributes specified directly on the remover method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.Remover">
            <summary>
            The method that is used to detach handlers from this event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.RemoverBody">
            <summary>
            The body of the remover method. May be null for field like events.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.Type">
            <summary>
            The (delegate) type of the handlers that will handle the event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDeclaration.TypeDefinitionMember">
            <summary>
            The symbol table object that represents the metadata for this member.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EventDeclaration.Flags">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.New">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.Unsafe">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.Abstract">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.External">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.Override">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.Sealed">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.Static">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.EventDeclaration.Flags.Virtual">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericMethodParameterDeclaration">
            <summary>
            Corresponds to a source construct that declares a type parameter for a generic method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericParameterDeclaration">
            <summary>
            Corresponds to a source construct that declares a type parameter for a generic method or type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameterDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.NameDeclaration,System.UInt16,System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.TypeParameterVariance,System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="name"></param>
            <param name="index"></param>
            <param name="constraints"></param>
            <param name="variance"></param>
            <param name="mustBeReferenceType"></param>
            <param name="mustBeValueType"></param>
            <param name="mustHaveDefaultConstructor"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameterDeclaration.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GenericParameterDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameterDeclaration.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameterDeclaration.AddConstraint(Microsoft.Cci.Ast.TypeExpression)">
            <summary>
            Add a constraint to this generic parameter declaration. This is done after construction of this declaration because
            it may contain a reference to this declaration. It should not be called after the second phase of construction has
            been completed.
            </summary>
            <param name="constraint">A type expression that resolves to a type that constrains this parameter.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.GenericParameterDeclaration.containingBlock">
            <summary>
            The block that contains this declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameterDeclaration.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a generic parameter before constructing the declaring type or method.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.Constraints">
            <summary>
            A list of classes or interfaces. All type arguments matching this parameter must be derived from all of the classes and implement all of the interfaces.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.Compilation">
            <summary>
            The compilation that contains this statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.CompilationPart">
            <summary>
            The compilation part that this declaration forms a part of.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.ContainingBlock">
            <summary>
            The block that contains this declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.Index">
            <summary>
            The position in the parameter list where this instance can be found.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.MustBeReferenceType">
            <summary>
            True if all type arguments matching this parameter are constrained to be reference types.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.MustBeValueType">
            <summary>
            True if all type arguments matching this parameter are constrained to be value types.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.MustHaveDefaultConstructor">
            <summary>
            True if all type arguments matching this parameter are constrained to be value types or concrete classes with visible default constructors.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.Name">
            <summary>
            The name of the entity.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.SourceAttributes">
            <summary>
            Custom attributes that are explicitly specified in source. Some of these may not end up in persisted metadata.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameterDeclaration.Variance">
            <summary>
            Indicates if the generic type or method with this type parameter is co-, contra-, or non variant with respect to this type parameter.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameterDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.NameDeclaration,System.UInt16,System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.TypeParameterVariance,System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="name"></param>
            <param name="index"></param>
            <param name="constraints"></param>
            <param name="variance"></param>
            <param name="mustBeReferenceType"></param>
            <param name="mustBeValueType"></param>
            <param name="mustHaveDefaultConstructor"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameterDeclaration.#ctor(Microsoft.Cci.Ast.MethodDeclaration,Microsoft.Cci.Ast.GenericMethodParameterDeclaration)">
            <summary>
            
            </summary>
            <param name="declaringMethod"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameterDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GenericMethodParameterDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameterDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.MethodDeclaration)">
            <summary>
            Makes a shallow copy of this generic parameter that can be added to the generic parameter list of the given method declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a parameter of the given method declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameterDeclaration.SetDeclaringMethod(Microsoft.Cci.Ast.MethodDeclaration)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a generic method parameter before constructing the declaring method declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="declaringMethod"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericMethodParameterDeclaration.DeclaringMethod">
            <summary>
            The generic method that declares this type parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericMethodParameterDeclaration.GenericMethodParameterDefinition">
            <summary>
            The symbol table entity that corresponds to this source construct.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GlobalFieldDeclaration">
            <summary>
            Represents a global variable.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.INamespaceDeclarationMember">
            <summary>
            Implemented by constructs that can be nested inside namespaces, such as types, nested namespaces, alias declarations, and so on.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.INamespaceDeclarationMember.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target namespace declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target namespace declaration it
            returns itself. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.INamespaceDeclarationMember.ContainingNamespaceDeclaration">
            <summary>
            The namespace declaration in which this nested namespace declaration is nested.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.INamespaceDeclarationMember.Name">
            <summary>
            The name of the member. For example the alias of an alias declaration, the name of nested namespace and so on. 
            Can be the empty name, for example if the construct is a namespace import.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IAggregatableNamespaceDeclarationMember">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IAggregatableNamespaceDeclarationMember.AggregatedMember">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.FieldDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a member that represents a variable associated with an object or class.
            </summary>
            <param name="sourceAttributes">Custom attributes that are explicitly specified in source. May be null.
            Some of these may not end up in persisted metadata.
            For example in C# a custom attribute is used to specify IFieldDefinition.IsNotSerialized. Such a custom attribute is deleted by the compiler.</param>
            <param name="flags">A set of flags that specify the value of boolean properties of the field, such as IsStatic.</param>
            <param name="visibility">Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.</param>
            <param name="type">An expression that denote the type of value that is stored in this field.</param>
            <param name="name">The name of the member. </param>
            <param name="initializer">An expression that evaluates to the initial value of this field. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.GlobalFieldDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing type.
            </summary>
            <param name="containingTypeDeclaration">The containing type of the copied member. This should be different from the containing type of the template member.</param>
            <param name="template">The type member to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDeclaration.GetGlobalFieldDefinition">
            <summary>
            Allocates or finds the global definition that corresponds to this declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDeclaration.Microsoft#Cci#Ast#INamespaceDeclarationMember#MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target namespace declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target namespace declaration it
            returns itself. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDeclaration.ContainingNamespaceDeclaration">
            <summary>
            The namespace declaration in which this nested namespace declaration is nested.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDeclaration.IsPublic">
            <summary>
            True if this field is visible outside of the unit in which it is defined.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDeclaration.GlobalFieldDefinition">
            <summary>
            The symbol table entity corresponding to this global variable declaration
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDeclaration.GlobalDefinitionsContainerType">
            <summary>
            A special type that is always a member of the root namespace of a unit and that contains all global variables and functions as its members.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDeclaration.AggregatedMember">
            <summary>
            The single definition that is associated with this declaration and possibly other declarations too.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.GlobalMethodDeclaration">
            <summary>
            Represents a global method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodDeclaration">
            <summary>
            This class models the source representation of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.MethodDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericMethodParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.ParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.QualifiedName},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes">May be null.</param>
            <param name="flags"></param>
            <param name="visibility"></param>
            <param name="type"></param>
            <param name="implementedInterfaces">May be null.</param>
            <param name="name"></param>
            <param name="genericParameters">May be null.</param>
            <param name="parameters">May be null.</param>
            <param name="handledEvents">May be null.</param>
            <param name="body">May be null.</param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.MethodDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.AnalyzeAttributesToExtractComputedFlags">
            <summary>
            Get custom attributes from the corresponding type definition, and run through them setting the flag bits for the various computed Boolean properties.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the method or a constituent part of the method.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(MethodDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.CreateMethodDefinition">
            <summary>
            Allocates or the method definition that corresponds to this declaration.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.qualifiedName">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.AcceptsExtraArguments">
            <summary>
            True if the method is a "vararg" method. That is, if it has a calling convention that allows extra arguments to be passed on the stack.
            In C++ such methods specify ... at the end of their parameter lists. In C#, the __arglist keyword is used.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.Body">
            <summary>
            The body of this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.CallingConvention">
            <summary>
            Calling convention of the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.DummyBlock">
            <summary>
            A block statement that serves as the declaring block of any expressions that form part of the the method declaration
            but that do not appear inside a method body.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.GenericParameters">
            <summary>
            If the method is generic then this list contains the type parameters.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.GenericParameterCount">
            <summary>
            The number of generic parameters. Zero if the method is not generic.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.HandledEvents">
            <summary>
            A list of events that are declaratively handled by this method. Whenever an object is assigned to an event source in the list,
            the method is unhooked from the event of the previous value and hooked up to the event of the new value. In VB this corresponds
            to a the Handles clause of a method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.HasDeclarativeSecurity">
            <summary>
            True if this method has a non empty collection of SecurityAttributes or the System.Security.SuppressUnmanagedCodeSecurityAttribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.HasExplicitThisParameter">
            <summary>
            True if this is an instance method that explicitly declares the type and name of its first parameter (the instance).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.ImplementedInterfaces">
            <summary>
            A list of interfaces whose corresponding abstract methods are implemented by this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsAbstract">
            <summary>
            True if the method does not provide an implementation (there is no body and evaluating the Body property is an error).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsAccessCheckedOnOverride">
            <summary>
            True if the method can only be overridden when it is also accessible. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsCil">
            <summary>
            True if the method is implemented in the CLI Common Intermediate Language.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsExtensionMethod">
            <summary>
            True if this method is a static method that can be called as an instance method on another class because it has an explicit this parameter.
            In other words, the class defining this static method is effectively extending another class, but doing so without subclassing it and
            without requiring client code to instantiate the subclass.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsExternal">
            <summary>
            True if the method has an external implementation (i.e. not supplied by this declaration).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsForwardReference">
            <summary>
            True if the method implementation is defined by another method definition (to be supplied at a later time).
            Only for use in 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsGeneric">
            <summary>
            True if the method has generic parameters;
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsHiddenBySignature">
            <summary>
            True if this method is hidden if a derived type declares a method with the same name and signature. 
            If false, any method with the same name hides this method. This flag is ignored by the runtime and is only used by compilers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsNativeCode">
            <summary>
            True if the method is implemented in native (platform-specific) code.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsNeverInlined">
            <summary>
            True if the the runtime is not allowed to inline this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsNeverOptimized">
            <summary>
            True if the the runtime is not allowed to inline this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsPlatformInvoke">
            <summary>
            True if the method is implemented via the invocation of an underlying platform method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsOverride">
            <summary>
            True if this method overrides a base class method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsRuntimeImplemented">
            <summary>
            True if the implementation of this method is supplied by the runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsRuntimeInternal">
            <summary>
            True if the method is an internal part of the runtime and must be called in a special way.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsRuntimeSpecial">
            <summary>
            True if the method gets special treatment from the runtime. For example, it might be a constructor.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsSealed">
            <summary>
            True if this method may not be overridden by a derived class method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsSpecialName">
            <summary>
            True if the method is special in some way for tools. For example, it might be a property getter or setter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsStatic">
            <summary>
            True if the method does not require an instance of its declaring type as its first argument.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsSynchronized">
            <summary>
            True if only one thread at a time may execute this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsUnmanaged">
            <summary>
            True if the implementation of this method is not managed by the runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.IsVirtual">
            <summary>
            True if the method may be overridden (or if it is an override).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.MethodDefinition">
            <summary>
            The symbol table object that represents the metadata for this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.Parameters">
            <summary>
            The parameters of this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.PlatformInvokeData">
            <summary>
            Detailed information about the PInvoke stub. Identifies which method to call, which module has the method and the calling convention among other things.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.PreserveSignature">
            <summary>
            True if the method signature must not be mangled during the interoperation with COM code.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.QualifiedName">
            <summary>
            The name of this method, qualified with the name of an interface, if this method is the private implementation
            of an interface method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.RequiresSecurityObject">
            <summary>
            True if the method calls another method containing security code. If this flag is set, the method
            should have System.Security.DynamicSecurityMethodAttribute present in its list of custom attributes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.ReturnValueAttributes">
            <summary>
            Custom attributes associated with the method's return value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the retuned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.ReturnValueIsByRef">
            <summary>
            True if the return value is passed by reference (using a managed pointer).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.ReturnValueIsModified">
            <summary>
            True if the return value has one or more custom modifiers associated with it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.ReturnValueIsMarshalledExplicitly">
            <summary>
            The return value has associated marshalling information.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.ReturnValueMarshallingInformation">
            <summary>
            Specifies how the return value is marshalled when the method is called from unmanaged code.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.SecurityAttributes">
            <summary>
            Declarative security actions for this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.SignatureDefinition">
            <summary>
            The symbol table object that represents the metadata for this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.TypeDefinitionMember">
            <summary>
            The symbol table object that represents the metadata for this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDeclaration.Type">
            <summary>
            An expression that denotes the return type of the method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodDeclaration.Flags">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.New">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.Unsafe">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.Abstract">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.External">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.Override">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.Sealed">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.Static">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.Virtual">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.AcceptsExtraArguments">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.IsCompilerGenerated">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.ExtensionMethod">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.SpecialName">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.MethodDeclaration.Flags.Synchronized">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.MethodDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericMethodParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.ParameterDeclaration},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="visibility"></param>
            <param name="type"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="parameters"></param>
            <param name="body"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.GlobalMethodDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing type.
            </summary>
            <param name="containingTypeDeclaration">The containing type of the copied member. This should be different from the containing type of the template member.</param>
            <param name="template">The type member to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDeclaration.CreateGlobalMethodDefinition">
            <summary>
            Allocates the global definition that corresponds to this declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDeclaration.CreateMethodDefinition">
            <summary>
            Allocates or finds the method definition that corresponds to this declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDeclaration.Microsoft#Cci#Ast#INamespaceDeclarationMember#MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target namespace declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target namespace declaration it
            returns itself. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalMethodDeclaration.ContainingNamespaceDeclaration">
            <summary>
            The namespace declaration in which this nested namespace declaration is nested.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalMethodDeclaration.GlobalMethodDefinition">
            <summary>
            The symbol table entity corresponding to this global method declaration
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ParameterDeclaration">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,System.UInt16,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="type"></param>
            <param name="name"></param>
            <param name="defaultValue"></param>
            <param name="index"></param>
            <param name="isOptional"></param>
            <param name="isOut"></param>
            <param name="isParameterArray"></param>
            <param name="isRef"></param>
            <param name="isThis"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,System.UInt16,System.Boolean,System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="type"></param>
            <param name="name"></param>
            <param name="defaultValue"></param>
            <param name="index"></param>
            <param name="isOptional"></param>
            <param name="isOut"></param>
            <param name="isParameterArray"></param>
            <param name="isRef"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.#ctor(Microsoft.Cci.Ast.ISignatureDeclaration,Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ParameterDeclaration)">
            <summary>
            
            </summary>
            <param name="containingSignature"></param>
            <param name="containingBlock"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ParameterDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.ISignatureDeclaration,Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            
            </summary>
            <param name="containingSignature"></param>
            <param name="containingBlock"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.CreateParameterDefinition">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDeclaration.SetContainingSignatureAndExpression(Microsoft.Cci.Ast.ISignatureDeclaration,Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a parameter before constructing the containing method or delegate.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.Compilation">
            <summary>
            The compilation that contains this parameter declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.CompilationPart">
            <summary>
            The compilation part that contains this parameter declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.ContainingSignature">
            <summary>
            The method or property that declares this parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.CustomModifiers">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.DefaultValue">
            <summary>
            A value that should be supplied as the corresponding argument value by callers that do not explicitly specify an argument value for this parameter.
            This expression is only correct if it evaluates to a compile time constant.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.HasDefaultValue">
            <summary>
            True if the parameter has a default value that should be supplied as the argument value by a caller for which the argument value has not been explicitly specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.Index">
            <summary>
            The position in the parameter list where this instance can be found.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsIn">
            <summary>
            True if the argument value must be included in the marshalled arguments passed to a remote callee.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsMarshalledExplicitly">
            <summary>
            This parameter has associated marshalling information.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsModified">
            <summary>
            The parameter has custom modifiers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsOptional">
            <summary>
            True if the argument value must be included in the marshalled arguments passed to a remote callee only if it is different from the default value (if there is one).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsOut">
            <summary>
            True if the parameter is passed by reference and is always assigned to by the declaring method before it is referenced.
            Corresponds to the out modifier in C#.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsParameterArray">
            <summary>
            True if the parameter has the ParamArrayAttribute custom attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsRef">
            <summary>
            True if the parameter is passed by reference. Corresponds to the ref modifier in C#.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.IsThis">
            <summary>
            True if this parameter is the "this" of an extension method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.Name">
            <summary>
            The name of the entity.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.ParamArrayElementType">
            <summary>
            The element type of the parameter array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.ParameterDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.SourceAttributes">
            <summary>
            Custom attributes that are explicitly specified in source. Some of these may not end up in persisted metadata.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDeclaration.Type">
            <summary>
            The type of argument value that corresponds to this parameter.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PropertyDeclaration">
            <summary>
            A property is a member that provides access to an attribute of an object or a class.
            This interface models the source representation of a property.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.PropertyDeclaration.Flags,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.TypeMemberVisibility,System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="visibility"></param>
            <param name="type"></param>
            <param name="implementedInterfaces"></param>
            <param name="name"></param>
            <param name="parameters"></param>
            <param name="getterAttributes"></param>
            <param name="getterBody"></param>
            <param name="getterVisibility"></param>
            <param name="setterAttributes"></param>
            <param name="setterBody"></param>
            <param name="setterVisibility"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.PropertyDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the property or a constituent part of the property.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(PropertyDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a shallow copy of this member that can be added to the member list of the given target type declaration.
            The shallow copy may share child objects with this instance, but should never expose such child objects except through
            wrappers (or shallow copies made on demand). If this instance is already a member of the target type declaration it
            returns itself.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.qualifiedName">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.DefaultValue">
            <summary>
            A compile time constant value that provides the default value for the property. (Who uses this and why?)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.Getter">
            <summary>
            The method used to get the value of this property. May be absent (null).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.GetterAttributes">
            <summary>
            Custom attributes that apply to the method that is used to get the value of the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.GetterBody">
            <summary>
            The body of the method used to get the value of this property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.GetterVisibility">
            <summary>
            Indicates if the getter is public or confined to its containing type, derived types and/or declaring assembly. May be different from the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.HasDefaultValue">
            <summary>
            True if this property has a compile time constant associated with it that serves as a default value for the property. (Who uses this and why?)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.ImplementedInterfaces">
            <summary>
            A list of interfaces whose corresponding abstract properties are implemented by this property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsAbstract">
            <summary>
            True if the methods to get and set the value of this property are abstract.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsExternal">
            <summary>
            True if the methods to get and set the value of this property are defined externally.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsOverride">
            <summary>
            True if the methods to get and set the value of this property are overriding base class methods.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsRuntimeSpecial">
            <summary>
            True if the property gets special treatment from the runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsSpecialName">
            <summary>
            True if this property is special in some way, as specified by the name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsSealed">
            <summary>
            True if the methods to get and set the value of this property are sealed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsStatic">
            <summary>
            True if the methods to get and set the value of this property are static.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.IsVirtual">
            <summary>
            True if the methods to get and set the value of this property are virtual.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.Accessors">
            <summary>
            A list of methods that are associated with the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.Parameters">
            <summary>
            The parameters forming part of this signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.PropertyDefinition">
            <summary>
            The symbol table object that represents the metadata for this property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.QualifiedName">
            <summary>
            The name of this property, qualified with the name of an interface, if this property is the private implementation
            of an interface property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.ReturnValueAttributes">
            <summary>
            Custom attributes associated with the property's return value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.ReturnValueIsByRef">
            <summary>
            True if the getter return value is passed by reference (using a managed pointer).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.ReturnValueIsModified">
            <summary>
            True if the getter return value has one or more custom modifiers associated with it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.Setter">
            <summary>
            The method used to set the value of this property. May be absent (null).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.SetterAttributes">
            <summary>
            Custom attributes that apply to the method that is used to set the value of the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.SetterBody">
            <summary>
            The body of the method used to set the value of this property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.SetterVisibility">
            <summary>
            Indicates if the getter is public or confined to its containing type, derived types and/or declaring assembly. May be different from the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.SignatureDefinition">
            <summary>
            The symbol table object that represents the metadata for this property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.Type">
            <summary>
            An expression that denotes the type of the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDeclaration.TypeDefinitionMember">
            <summary>
            The symbol table object that represents the metadata for this member.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.PropertyDeclaration.Flags">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.New">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.Unsafe">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.Abstract">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.External">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.Override">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.Sealed">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.Static">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.PropertyDeclaration.Flags.Virtual">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.StaticDataSectionBlock">
            <summary>
            Represents a block of section.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StaticDataSectionBlock.#ctor(System.UInt32,System.Byte[])">
            <summary>
            
            </summary>
            <param name="offset"></param>
            <param name="data"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.StaticDataSectionBlock.PESectionKind">
            <summary>
            Section where the block resides.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.StaticDataSectionBlock.Offset">
            <summary>
            Offset into section where the block resides.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.StaticDataSectionBlock.Size">
            <summary>
            Size of the block.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.StaticDataSectionBlock.Data">
            <summary>
            Byte information stored in the block.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.SignatureDeclaration">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SignatureDeclaration.#ctor(Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.ParameterDeclaration},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="type"></param>
            <param name="parameters"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SignatureDeclaration.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.SignatureDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SignatureDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SignatureDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a shallow copy of this signature.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SignatureDeclaration.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            
            </summary>
            <param name="containingBlock"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDeclaration.Parameters">
            <summary>
            The parameters forming part of this signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDeclaration.ReturnValueAttributes">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDeclaration.ReturnValueCustomModifiers">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDeclaration.ReturnValueIsByRef">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDeclaration.ReturnValueIsModified">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDeclaration.SignatureDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDeclaration.Type">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BuiltinMethods">
            <summary>
            Methods that correspond to operations that are built into the platform.
            These methods exist only to allow the use of overload resolution as an aid to determining how operands should be converted.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.#ctor(Microsoft.Cci.Ast.Compilation)">
            <summary>
            
            </summary>
            <param name="compilation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyEnumOpEnum(Microsoft.Cci.ITypeDefinition)">
            <summary>
            E operator op(E x, E y)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyEnumMinusEnum(Microsoft.Cci.ITypeDefinition)">
            <summary>
            U operator -(E x, E y)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyEnumOpNum(Microsoft.Cci.ITypeDefinition)">
            <summary>
            E operator op(E x, U y)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyNumOpEnum(Microsoft.Cci.ITypeDefinition)">
            <summary>
            E operator op(U x, E y)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyOpEnum(Microsoft.Cci.ITypeDefinition)">
            <summary>
            E operator op(E x)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyDelegateOpDelegate(Microsoft.Cci.ITypeDefinition)">
            <summary>
            D operator op(D x, D y)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyArrayGetters(Microsoft.Cci.IArrayTypeReference)">
            <summary>
            For an array type with element type T and rank 1, returns the following methods
            T Get(int)
            T Get(uint)
            T Get(long)
            T Get(ulong)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyOp(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns resultType Op(operandType).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyOp(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns resultType Op(operand1Type, operand2Type).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BuiltinMethods.GetDummyIndexerOp(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns resultType Op(operandType).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.BoolOpBool">
            <summary>
            bool operator op(bool x, bool y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int16opInt16">
            <summary>
            short operator op(short x, short y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int32opInt32">
            <summary>
            int operator op(int x, int y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int32opUInt32">
            <summary>
            int operator op(int x, uint y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int64opInt32">
            <summary>
            long operator op(long x, int y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int64opInt64">
            <summary>
            long operator op(long x, long y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int64opUInt32">
            <summary>
            long operator op(long x, uint y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int64opUInt64">
            <summary>
            long operator op(long x, ulong y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Int8opInt8">
            <summary>
            sbyte operator op(sbyte x, sbyte y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.UInt32opInt32">
            <summary>
            uint operator op(uint x, int y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.UInt32opUInt32">
            <summary>
            uint operator op(uint x, uint y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.UInt64opInt32">
            <summary>
            ulong operator op(ulong x, int y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.UInt64opUInt32">
            <summary>
            ulong operator op(ulong x, int y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.UInt64opUInt64">
            <summary>
            ulong operator op(ulong x, ulong y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.UIntPtrOpUIntPtr">
            <summary>
            UIntPtr operator op(UIntPtr x, UIntPtr y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.VoidPtrOpVoidPtr">
            <summary>
            void* operator op(void* x, void* y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Float32opFloat32">
            <summary>
            float operator op(float x, float y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.Float64opFloat64">
            <summary>
            double operator op(double x, double y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.DecimalOpDecimal">
            <summary>
            decimal operator op(decimal x, decimal y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.ObjectOpObject">
            <summary>
            bool operator op(object x, object y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.ObjectOpString">
            <summary>
            string operator op(object x, string y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpBoolean">
            <summary>
            bool operator op(bool x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpChar">
            <summary>
            char operator op(char x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpDecimal">
            <summary>
            decimal operator op(decimal x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpFloat32">
            <summary>
            float operator op(float x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpFloat64">
            <summary>
            double operator op(double x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpInt8">
            <summary>
            sbyte operator op(sbyte x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpInt16">
            <summary>
            short operator op(short x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpInt32">
            <summary>
            int operator op(int x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpInt64">
            <summary>
            long operator op(long x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpUInt8">
            <summary>
            byte operator op(byte x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpUInt16">
            <summary>
            ushort operator op(ushort x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpUInt32">
            <summary>
            uint operator op(uint x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.OpUInt64">
            <summary>
            ulong operator op(ulong x)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.StringOpObject">
            <summary>
            string operator op(string x, object y)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BuiltinMethods.StringOpString">
            <summary>
            string operator op(string x, string y)
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EventDefinition">
            <summary>
            An event is a member that enables an object or class to provide notifications. Clients can attach executable code for events by supplying event handlers.
            This interface models the source representation of an event.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeDefinitionMember">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDefinitionMember.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDefinitionMember.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.ContainingTypeDefinition">
            <summary>
            The type definition that contains this member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.Declaration">
            <summary>
            The declaration that corresponds to this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.Name">
            <summary>
            The name of the entity.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.ContainingType">
            <summary>
            A reference to the containing type of the referenced type member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.ResolvedTypeDefinitionMember">
            <summary>
            The type definition member this reference resolves to.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDefinitionMember.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDefinition.#ctor(Microsoft.Cci.Ast.EventDeclaration)">
            <summary>
            
            </summary>
            <param name="declaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IEventDefinition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EventDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Throws an InvalidOperation exception since valid Metadata never refers directly to an event.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.Accessors">
            <summary>
            A list of methods that are associated with the event.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.Declaration">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.Adder">
            <summary>
            The method used to add a handler to the event.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.Caller">
            <summary>
            The method used to call the event handlers when the event occurs. May be null.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.EventDeclarations">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.IsRuntimeSpecial">
            <summary>
            True if the event gets special treatment from the runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.IsSpecialName">
            <summary>
            This event is special in some way, as specified by the name.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.EventDefinition.Remover">
            <summary>
            The method used to add a handler to the event.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.FieldDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDefinition.#ctor(Microsoft.Cci.Ast.FieldDeclaration)">
            <summary>
            
            </summary>
            <param name="declaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IFieldDefinition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IFieldReference) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.BitLength">
            <summary>
            The number of bits that form part of the value of the field.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.CompileTimeValue">
            <summary>
            The compile time value of the field. This value should be used directly in IL, rather than a reference to the field.
            If the field does not have a valid compile time value, Dummy.Constant is returned.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.CustomModifiers">
            <summary>
            The list of custom modifiers, if any, associated with the field. Evaluate this property only if IsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.Declaration">
            <summary>
            The declaration that corresponds to this definition.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.FieldDeclaration">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.FieldDeclarations">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.InternedKey">
            <summary>
            Returns a key that is computed from the information in this reference and that distinguishes
            this.ResolvedField from all other fields obtained from the same metadata host.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsBitField">
            <summary>
            The field is aligned on a bit boundary and uses only the BitLength number of least significant bits of the representation of a Type value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsCompileTimeConstant">
            <summary>
            This field is a compile-time constant. The field has no runtime location and cannot be directly addressed from IL.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsMapped">
            <summary>
            This field is mapped to an explicitly initialized (static) memory location.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsMarshalledExplicitly">
            <summary>
            This field has associated field marshalling information.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsModified">
            <summary>
            This field has custom modifiers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsNotSerialized">
            <summary>
            The field does not have to be serialized when its containing instance is serialized.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsReadOnly">
            <summary>
            This field can only be read. Initialization takes place in a constructor.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsRuntimeSpecial">
            <summary>
            True if the field gets special treatment from the runtime.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsSpecialName">
            <summary>
            This field is special in some way, as specified by the name.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.IsStatic">
            <summary>
            This field is static (shared by all instances of its declaring type).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.Offset">
            <summary>
            Offset of the field.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.SequenceNumber">
            <summary>
            The position of the field starting from 0 within the class.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.MarshallingInformation">
            <summary>
            Specifies how this field is marshalled when it is accessed from unmanaged code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.Type">
            <summary>
            The type of value that is stored in this field.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.FieldMapping">
            <summary>
            Information of the location where this field is mapped to
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldDefinition.ResolvedField">
            <summary>
            The Field being referred to.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.FunctionPointerMethod">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FunctionPointerMethod.#ctor(Microsoft.Cci.IFunctionPointerTypeReference)">
            <summary>
            
            </summary>
            <param name="functionPointer"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FunctionPointerMethod.ToString">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FunctionPointerMethod.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FunctionPointerMethod.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.FunctionPointer">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.AcceptsExtraArguments">
            <summary>
            True if the call sites that references the method with this object supply extra arguments.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Body">
            <summary>
            A container for a list of IL instructions providing the implementation (if any) of this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.CallingConvention">
            <summary>
            Calling convention of the signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.GenericParameters">
            <summary>
            If the method is generic then this list contains the type parameters.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.HasDeclarativeSecurity">
            <summary>
            True if this method has a non empty collection of SecurityAttributes or the System.Security.SuppressUnmanagedCodeSecurityAttribute.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.HasExplicitThisParameter">
            <summary>
            True if this an instance method that explicitly declares the type and name of its first parameter (the instance).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsAbstract">
            <summary>
            True if the method does not provide an implementation.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsAccessCheckedOnOverride">
            <summary>
            True if the method can only be overridden when it is also accessible.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsAggressivelyInlined">
            <summary>
            True if the the runtime is requested to inline this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsCil">
            <summary>
            True if the method is implemented in the CLI Common Intermediate Language.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsExternal">
            <summary>
            True if the method has an external implementation (i.e. not supplied by this definition).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsForwardReference">
            <summary>
            True if the method implementation is defined by another method definition (to be supplied at a later time).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsGeneric">
            <summary>
            True if the method has generic parameters;
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsHiddenBySignature">
            <summary>
            True if this method is hidden if a derived type declares a method with the same name and signature.
            If false, any method with the same name hides this method. This flag is ignored by the runtime and is only used by compilers.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsNativeCode">
            <summary>
            True if the method is implemented in native (platform-specific) code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsNewSlot">
            <summary>
            The method always gets a new slot in the virtual method table.
            This means the method will hide (not override) a base type method with the same name and signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsNeverInlined">
            <summary>
            True if the the runtime is not allowed to inline this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsNeverOptimized">
            <summary>
            True if the runtime is not allowed to optimize this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsPlatformInvoke">
            <summary>
            True if the method is implemented via the invocation of an underlying platform method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsRuntimeImplemented">
            <summary>
            True if the implementation of this method is supplied by the runtime.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsRuntimeInternal">
            <summary>
            True if the method is an internal part of the runtime and must be called in a special way.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsRuntimeSpecial">
            <summary>
            True if the method gets special treatment from the runtime. For example, it might be a constructor.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsSealed">
            <summary>
            True if the method may not be overridden.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsSpecialName">
            <summary>
            True if the method is special in some way for tools. For example, it might be a property getter or setter.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsStatic">
            <summary>
            True if the method does not require an instance of its declaring type as its first argument.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsSynchronized">
            <summary>
            True if only one thread at a time may execute this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsVirtual">
            <summary>
            True if the method may be overridden (or if it is an override).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsUnmanaged">
            <summary>
            True if the implementation of this method is not managed by the runtime.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Parameters">
            <summary>
            The parameters forming part of this signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ParameterCount">
            <summary>
            The number of required parameters of the method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.PreserveSignature">
            <summary>
            True if the method signature must not be mangled during the interoperation with COM code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.RequiresSecurityObject">
            <summary>
            True if the method calls another method containing security code. If this flag is set, the method
            should have System.Security.DynamicSecurityMethodAttribute present in its list of custom attributes.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ReturnValueAttributes">
            <summary>
            Custom attributes associated with the method's return value.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ReturnValueIsByRef">
            <summary>
            True if the return value is passed by reference (using a managed pointer).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ReturnValueIsMarshalledExplicitly">
            <summary>
            The return value has associated marshalling information.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ReturnValueIsModified">
            <summary>
            True if the return value has one or more custom modifiers associated with it.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ReturnValueMarshallingInformation">
            <summary>
            Specifies how the return value is marshalled when the method is called from unmanaged code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ReturnValueName">
            <summary>
            The name of the parameter to which the return value is marshalled. Returns Dummy.Name if the name has not been specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.SecurityAttributes">
            <summary>
            Declarative security actions for this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Type">
            <summary>
            The return type of the method or type of the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsConstructor">
            <summary>
            True if the method is a constructor.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.IsStaticConstructor">
            <summary>
            True if the method is a static constructor.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.PlatformInvokeData">
            <summary>
            Detailed information about the PInvoke stub. Identifies which method to call, which module has the method and the calling convention among other things.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ContainingTypeDefinition">
            <summary>
            The type definition that contains this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.GenericParameterCount">
            <summary>
            The number of generic parameters of the method. Zero if the referenced method is not generic.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Container">
            <summary>
            The container instance with a Members collection that includes this instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Name">
            <summary>
            The name of the entity.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ContainingScope">
            <summary>
            The scope instance with a Members collection that includes this instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Microsoft#Cci#ISignature#Parameters">
            <summary>
            The parameters forming part of this signature.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.Microsoft#Cci#IMethodReference#InternedKey">
            <summary>
            Returns a key that is computed from the information in this reference and that uniquely identifies
            this.ResolvedMethod.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ResolvedMethod">
            <summary>
            The method being referred to.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ExtraParameters">
            <summary>
            Information about this types of the extra arguments supplied at the call sites that references the method with this object.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ContainingType">
            <summary>
            A reference to the containing type of the referenced type member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FunctionPointerMethod.ResolvedTypeDefinitionMember">
            <summary>
            The type definition member this reference resolves to.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericMethodParameter">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericParameter">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamedTypeDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.#ctor(Microsoft.Cci.IName,Microsoft.Cci.IInternFactory)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="internFactory"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.AddTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            
            </summary>
            <param name="typeDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model reference node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.flags">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.GetAggregatedMember(Microsoft.Cci.Ast.IAggregatableTypeDeclarationMember)">
            <summary>
            
            </summary>
            <param name="member"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.InitializeIfNecessary">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.UpdateFlags(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            
            </summary>
            <param name="typeDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.UsesToImplementAnInterfaceMethod(Microsoft.Cci.Ast.MethodDefinition)">
            <summary>
            True if this type uses the specified method to implement an interface method.
            </summary>
            <param name="method">The method to check.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamedTypeDefinition.GetBaseMembers">
            <summary>
            Needed because base.Members cannot be referred to directly from inside an iterator.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Alignment">
            <summary>
            The byte alignment that values of the given type ought to have. Must be a power of 2. If zero, the alignment is decided at runtime.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.BaseClasses">
            <summary>
            Zero or more classes from which this type is derived.
            For CLR types this collection is empty for interfaces and System.Object and populated with exactly one base type for all other types.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.ExplicitImplementationOverrides">
            <summary>
            Zero or more implementation overrides provided by the class.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.GenericParameters">
            <summary>
            Zero or more parameters that can be used as type annotations.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.GenericParameterCount">
            <summary>
            The number of generic parameters. Zero if the type is not generic.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.ImplementationMap">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.MangleName">
            <summary>
            True if the type name must be mangled with the generic parameter count when emitting it to a PE file.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Interfaces">
            <summary>
            Zero or more interfaces implemented by this type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.InstanceType">
            <summary>
            An instance of this generic type that has been obtained by using the generic parameters as the arguments.
            Use this instance to look up members
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsAbstract">
            <summary>
            True if the type may not be instantiated.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsClass">
            <summary>
            True if the type is a class (it is not an interface or type parameter and does not extend a special base class).
            Corresponds to C# class.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsDelegate">
            <summary>
            True if the type is a delegate (it extends System.MultiCastDelegate). Corresponds to C# delegate
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsEnum">
            <summary>
            True if the type is an enumeration (it extends System.Enum and is sealed). Corresponds to C# enum.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsGeneric">
            <summary>
            True if this type is parameterized (this.GenericParameters is a non empty collection).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsInterface">
            <summary>
            True if the type is an interface.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsReferenceType">
            <summary>
            True if the type is a reference type. A reference type is non static class or interface or a suitably constrained type parameter.
            A type parameter for which MustBeReferenceType (the class constraint in C#) is true returns true for this property
            as does a type parameter with a constraint that is a class.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsSealed">
            <summary>
            True if the type may not be subtyped.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsStatic">
            <summary>
            True if the type is an abstract sealed class that directly extends System.Object and declares no constructors.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.HasExtensionMethod">
            <summary>
            True if this type contains one or more extension method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsValueType">
            <summary>
            True if the type is a value type.
            Value types are sealed and extend System.ValueType or System.Enum.
            A type parameter for which MustBeValueType (the struct constraint in C#) is true also returns true for this property.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsStruct">
            <summary>
            True if the type is a struct (its not Primitive, is sealed and base is System.ValueType).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Name">
            <summary>
            The name of the type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.PrivateHelperMembers">
            <summary>
            Zero or more private type members generated by the compiler for implementation purposes. These members
            are only available after a complete visit of all of the other members of the type, including the bodies of methods.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.SecurityAttributes">
            <summary>
            Declarative security actions for this type. Will be empty if this.HasSecurity is false.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.SizeOf">
            <summary>
            Size of an object of this type. In bytes. If zero, the size is unspecified and will be determined at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.TypeCode">
            <summary>
            Unless the value of TypeCode is PrimitiveTypeCode.NotPrimitive, the type corresponds to a "primitive" CLR type (such as System.Int32) and
            the type code identifies which of the primitive types it corresponds to.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.TypeDeclarations">
            <summary>
            A list of the type declarations that collectively define this type definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.UnderlyingType">
            <summary>
            Returns a reference to the underlying (integral) type on which this (enum) type is based.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Layout">
            <summary>
            Layout of the type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsSpecialName">
            <summary>
            True if the type has special name.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsComObject">
            <summary>
            Is this imported from COM type library
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsSerializable">
            <summary>
            True if this type is serializable.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsBeforeFieldInit">
            <summary>
            Is type initialized anytime before first access to static field
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.StringFormat">
            <summary>
            Default marshalling of the Strings in this class.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsRuntimeSpecial">
            <summary>
            True if this type gets special treatment from the runtime.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.HasDeclarativeSecurity">
            <summary>
            True if this type has a non empty collection of SecurityAttributes or the System.Security.SuppressUnmanagedCodeSecurityAttribute.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Events">
            <summary>
            Zero or more events defined by this type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Fields">
            <summary>
            Zero or more fields defined by this type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Members">
            <summary>
            The collection of member instances that are members of this scope.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Methods">
            <summary>
            Zero or more methods defined by this type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.NestedTypes">
            <summary>
            Zero or more nested types defined by this type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.Properties">
            <summary>
            Zero or more properties defined by this type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsAlias">
            <summary>
            Indicates if this type reference resolved to an alias rather than a type
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.AliasForType">
            <summary>
            Gives the alias for the type
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.CustomModifiers">
            <summary>
            The list of custom modifiers, if any, associated with the parameter. Evaluate this property only if IsModified is true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.IsModified">
            <summary>
            This type has one or more custom modifiers associated with it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.ResolvedType">
            <summary>
            The type definition being referred to.
            In case this type was alias, this is also the type of the aliased type
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.InternFactory">
            <summary>
            A collection of methods that associate unique integers with metadata model entities.
            The association is based on the identities of the entities and the factory does not retain
            references to the given metadata model objects.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamedTypeDefinition.InternedKey">
            <summary>
            Returns the unique interned key associated with the type. This takes unification/aliases/custom modifiers into account.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamedTypeDefinition.Flags">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Abstract">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Class">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Delegate">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Enum">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Interface">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Sealed">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Static">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.Struct">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.ValueType">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.HasExtensionMethod">
            <summary>
            This type contains at least one definition method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamedTypeDefinition.Flags.None">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameter.#ctor(Microsoft.Cci.IName,System.UInt16,Microsoft.Cci.TypeParameterVariance,System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.IInternFactory)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="index"></param>
            <param name="variance"></param>
            <param name="mustBeReferenceType"></param>
            <param name="mustBeValueType"></param>
            <param name="mustHaveDefaultConstructor"></param>
            <param name="internFactory"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameter.SpecializeIfConstructedFromApplicableTypeParameter(Microsoft.Cci.IGenericParameter,Microsoft.Cci.IGenericMethodInstance)">
            <summary>
            If the given generic parameter is a generic parameter of the generic method of which the given method is an instance, then return the corresponding type argument that
            was used to create the method instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameter.SpecializeIfConstructedFromApplicableTypeParameter(Microsoft.Cci.IGenericParameter,Microsoft.Cci.IGenericTypeInstanceReference)">
            <summary>
            If the given generic parameter is a generic parameter of the generic type of which the given type is an instance, then return the corresponding type argument that
            was used to create the type instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericParameter.GetDeclarations">
            <summary>
            Returns the list of generic parameter declarations that collectively define this generic parameter definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.BaseClasses">
            <summary>
            Gets the base classes.
            </summary>
            <value>The base classes.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.Constraints">
            <summary>
            A list of classes or interfaces. All type arguments matching this parameter must be derived from all of the classes and implement all of the interfaces.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.Index">
            <summary>
            The position in the parameter list where this instance can be found.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.IsReferenceType">
            <summary>
            True if the type is a reference type. A reference type is non static class or interface or a suitably constrained type parameter.
            A type parameter for which MustBeReferenceType (the class constraint in C#) is true returns true for this property
            as does a type parameter with a constraint that is a class.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.IsValueType">
            <summary>
            True if the type is a value type.
            Value types are sealed and extend System.ValueType or System.Enum.
            A type parameter for which MustBeValueType (the struct constraint in C#) is true also returns true for this property.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.MustBeReferenceType">
            <summary>
            True if all type arguments matching this parameter are constrained to be reference types.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.MustBeValueType">
            <summary>
            True if all type arguments matching this parameter are constrained to be value types.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.MustHaveDefaultConstructor">
            <summary>
            True if all type arguments matching this parameter are constrained to be value types or concrete classes with visible default constructors.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericParameter.Variance">
            <summary>
            Indicates if the generic type or method with this type parameter is co-, contra-, or non variant with respect to this type parameter.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameter.#ctor(Microsoft.Cci.Ast.MethodDefinition,Microsoft.Cci.Ast.GenericMethodParameterDeclaration)">
            <summary>
            
            </summary>
            <param name="definingMethod"></param>
            <param name="declaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameter.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IGenericMethodParameter) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameter.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IGenericMethodParameterReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericMethodParameter.GetDeclarations">
            <summary>
            Returns the list of generic parameter declarations that collectively define this generic parameter definition.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericMethodParameter.DefiningMethod">
            <summary>
            The generic method that defines this type parameter.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericMethodParameter.ParameterDeclarations">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericMethodParameter.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericMethodParameter.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.GlobalFieldDefinition">
            <summary>
            Represents a global field in symbol table.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDefinition.#ctor(Microsoft.Cci.Ast.GlobalFieldDeclaration)">
            <summary>
            Allocates a global field definition to correspond to a given global field declaration.
            </summary>
            <param name="globalFieldDeclaration">The global field declaration that corresponds to the definition being allocated.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDefinition.AddGlobalFieldDeclaration(Microsoft.Cci.Ast.GlobalFieldDeclaration)">
            <summary>
            Adds an additional global field declaration to the list of declarations that aggregate into this definition.
            Does nothting if the declaration is already a member of the list.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IGlobalFieldDefinition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IFieldReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalFieldDefinition.GetGlobalFieldDeclaration">
            <summary>
            Gets the global field declaration.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.BitLength">
            <summary>
            The number of least significant bits that form part of the value of the field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.CompileTimeValue">
            <summary>
            The compile time value of the field. This value should be used directly in IL, rather than a reference to the field.
            If the field does not have a valid compile time value, an instance of DummyConstant is returned.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.ContainingNamespace">
            <summary>
            The namespace that contains this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.ContainingType">
            <summary>
            The type reference of the containing type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.ContainingTypeDefinition">
            <summary>
            The type definition that contains this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.CustomModifiers">
            <summary>
            The list of custom modifiers, if any, associated with the field. Evaluate this property only if IsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.GlobalFieldDeclaration">
            <summary>
            The global field declaration that projects onto this global field definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.FieldMapping">
            <summary>
            Information of the location where this field is mapped to
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.GlobalFieldDeclarations">
            <summary>
            Gets the global field declarations.
            </summary>
            <value>The global field declarations.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.InternedKey">
            <summary>
            Returns a key that is computed from the information in this reference and that distinguishes
            this.ResolvedField from all other fields obtained from the same metadata host.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsBitField">
            <summary>
            The field is aligned on a bit boundary and uses only the BitLength number of least significant bits of the representation of a Type value.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsCompileTimeConstant">
            <summary>
            This field is a compile-time constant. The field has no runtime location and cannot be directly addressed from IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsMapped">
            <summary>
            This field is mapped to an explicitly initialized (static) memory location.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsMarshalledExplicitly">
            <summary>
            This field has associated field marshalling information.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsModified">
            <summary>
            This field has custom modifiers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsNotSerialized">
            <summary>
            The field does not have to be serialized when its containing instance is serialized.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsReadOnly">
            <summary>
            This field can only be read. Initialization takes place in a constructor.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsRuntimeSpecial">
            <summary>
            This field has a special name reserved for the internal use of the Common Language Runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsSpecialName">
            <summary>
            This field is special in some way, as specified by the name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.IsStatic">
            <summary>
            This field is static (shared by all instances of its declaring type).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this IGlobalFieldDefinition instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.MarshallingInformation">
            <summary>
            Specifies how this field is marshalled when it is accessed from unmanaged code.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.Name">
            <summary>
            The name of the global field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.Offset">
            <summary>
            Offset of the field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.SequenceNumber">
            <summary>
            The position of the field starting from 0 within the class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.Type">
            <summary>
            The type of value that is stored in this field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalFieldDefinition.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GlobalMethodDefinition">
            <summary>
            Represents a global method in symbol table.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDefinition.#ctor(Microsoft.Cci.Ast.MethodDeclaration)">
            <summary>
            
            </summary>
            <param name="declaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IMethodDefinition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IMethodReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodDefinition.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.AcceptsExtraArguments">
            <summary>
            True if the call sites that references the method with this object supply extra arguments.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.Body">
            <summary>
            A container for a list of IL instructions providing the implementation (if any) of this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.CallingConvention">
            <summary>
            Calling convention of the signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.Declaration">
            <summary>
            The declaration that corresponds to this definition.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.EmptyCollection">
            <summary>
            An empty collection of method definitions.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.GenericParameters">
            <summary>
            If the method is generic then this list contains the type parameters.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.GenericParameterCount">
            <summary>
            The number of generic parameters of the method. Zero if the referenced method is not generic.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.HasDeclarativeSecurity">
            <summary>
            True if this method has a non empty collection of SecurityAttributes or the System.Security.SuppressUnmanagedCodeSecurityAttribute.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.HasExplicitThisParameter">
            <summary>
            True if this is an instance method that explicitly declares the type and name of its first parameter (the instance).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ImplementedInterfaces">
            <summary>
            A list of interfaces whose corresponding abstract methods are implemented by this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.InternedKey">
            <summary>
            Returns a key that is computed from the information in this reference and that uniquely identifies
            this.ResolvedMethod.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsAbstract">
            <summary>
            True if the method does not provide an implementation.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsAccessCheckedOnOverride">
            <summary>
            True if the method can only be overridden when it is also accessible. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsAggressivelyInlined">
            <summary>
            True if the the runtime is requested to inline this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsCil">
            <summary>
            True if the method is implemented in the CLI Common Intermediate Language.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsExternal">
            <summary>
            True if the method has an external implementation (i.e. not supplied by this definition).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsForwardReference">
            <summary>
            True if the method implementation is defined by another method definition (to be supplied at a later time).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsGeneric">
            <summary>
            True if the method has generic parameters;
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsHiddenBySignature">
            <summary>
            True if this method is hidden if a derived type declares a method with the same name and signature.
            If false, any method with the same name hides this method. This flag is ignored by the runtime and is only used by compilers.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsNativeCode">
            <summary>
            True if the method is implemented in native (platform-specific) code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsNewSlot">
            <summary>
            The method always gets a new slot in the virtual method table.
            This means the method will hide (not override) a base type method with the same name and signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsNeverInlined">
            <summary>
            True if the the runtime is not allowed to inline this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsNeverOptimized">
            <summary>
            True if the runtime is not allowed to optimize this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsPlatformInvoke">
            <summary>
            True if the method is implemented via the invocation of an underlying platform method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsRuntimeImplemented">
            <summary>
            True if the implementation of this method is supplied by the runtime.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsRuntimeInternal">
            <summary>
            True if the method is an internal part of the runtime and must be called in a special way.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsRuntimeSpecial">
            <summary>
            True if the method gets special treatment from the runtime. For example, it might be a constructor.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsSealed">
            <summary>
            True if the method may not be overridden.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsSpecialName">
            <summary>
            True if the method is special in some way for tools. For example, it might be a property getter or setter.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsStatic">
            <summary>
            True if the method does not require an instance of its declaring type as its first argument.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsExtensionMethod">
            <summary>
            True if this method is a static method that can be called as an instance method on another class because it has an explicit this parameter.
            In other words, the class defining this static method is effectively extending another class, but doing so without subclassing it and
            without requiring client code to instantiate the subclass.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsSynchronized">
            <summary>
            True if only one thread at a time may execute this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsVirtual">
            <summary>
            True if the method may be overridden (or if it is an override).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsUnmanaged">
            <summary>
            True if the implementation of this method is not managed by the runtime.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.Name">
            <summary>
            The name of the entity.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.PreserveSignature">
            <summary>
            True if the method signature must not be mangled during the interoperation with COM code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.RequiresSecurityObject">
            <summary>
            True if the method calls another method containing security code. If this flag is set, the method
            should have System.Security.DynamicSecurityMethodAttribute present in its list of custom attributes.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ReturnValueAttributes">
            <summary>
            Custom attributes associated with the method's return value.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ReturnValueIsByRef">
            <summary>
            True if the return value is passed by reference (using a managed pointer).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ReturnValueIsModified">
            <summary>
            True if the return value has one or more custom modifiers associated with it.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ReturnValueIsMarshalledExplicitly">
            <summary>
            The return value has associated marshalling information.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ReturnValueMarshallingInformation">
            <summary>
            Specifies how the return value is marshalled when the method is called from unmanaged code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ReturnValueName">
            <summary>
            The name of the parameter to which the return value is marshalled. Returns Dummy.Name if the name has not been specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.SecurityAttributes">
            <summary>
            Declarative security actions for this method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.Parameters">
            <summary>
            The parameters of this method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ParameterCount">
            <summary>
            The number of required parameters of the method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.Type">
            <summary>
            The return type of the method or type of the property.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsConstructor">
            <summary>
            True if the method is a constructor.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.IsStaticConstructor">
            <summary>
            True if the method is a static constructor.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.PlatformInvokeData">
            <summary>
            Detailed information about the PInvoke stub. Identifies which method to call, which module has the method and the calling convention among other things.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.UnqualifiedName">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ResolvedMethod">
            <summary>
            The method being referred to.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodDefinition.ExtraParameters">
            <summary>
            Information about this types of the extra arguments supplied at the call sites that references the method with this object.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDefinition.#ctor(Microsoft.Cci.Ast.GlobalMethodDeclaration)">
            <summary>
            Allocates a global method definition to correspond to a given global method declaration.
            </summary>
            <param name="globalMethodDeclaration">The global method declaration that corresponds to the definition being allocated.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalMethodDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IGlobalMethodDefinition) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalMethodDefinition.ContainingNamespace">
            <summary>
            The namespace that contains this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalMethodDefinition.GlobalMethodDeclaration">
            <summary>
            The global method declaration that projects onto this global method definition.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodBody">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodBody.#ctor(Microsoft.Cci.IMethodDefinition,Microsoft.Cci.Ast.BlockStatement,System.Boolean)">
            <summary>
            
            </summary>
            <param name="methodDefinition"></param>
            <param name="block"></param>
            <param name="localsAreZeroed"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodBody.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodBody.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodBody.GetIteratorScopes">
            <summary>
            Returns zero or more local (block) scopes, each defining an IL range in which an iterator local is defined.
            The scopes are returned by the MoveNext method of the object returned by the iterator method.
            The index of the scope corresponds to the index of the local. Specifically local scope i corresponds
            to the local stored in field &lt;localName&gt;x_i of the class used to store the local values in between
            calls to MoveNext.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodBody.GetLocalScopes">
            <summary>
            Returns zero or more local (block) scopes into which the CLR IL operations in the given method body is organized.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodBody.GetNamespaceScopes">
            <summary>
            Returns zero or more namespace scopes into which the namespace type containing the given method body has been nested.
            These scopes determine how simple names are looked up inside the method body. There is a separate scope for each dotted
            component in the namespace type name. For istance namespace type x.y.z will have two namespace scopes, the first is for the x and the second
            is for the y.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodBody.MakeShallowCopyFor(Microsoft.Cci.Ast.Compilation)">
            <summary>
            
            </summary>
            <param name="targetCompilation"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.Block">
            <summary>
            The collection of statements making up the body.
            This is produced by either language parser or through decompilation of the Instructions.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.IsIteratorBody">
            <summary>
            True if the method body is an iterator.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.LocalsAreZeroed">
            <summary>
            True if the locals are initialized by zeroeing the stack upon method entry.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.LocalVariables">
            <summary>
            The local variables of the method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.MaxStack">
            <summary>
            The maximum number of elements on the evaluation stack during the execution of the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.MethodDefinition">
            <summary>
            The definition of the method whose body this is.
            If this is the body of an event or property accessor, this will hold the corresponding adder/remover/setter or getter method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.Operations">
            <summary>
            A list CLR IL operations that implement this method body.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.OperationExceptionInformation">
            <summary>
            A list exception data within the method body IL.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodBody.PrivateHelperTypes">
            <summary>
            Any types that are implicitly defined in order to implement the body semantics.
            In case of AST to instructions conversion this lists the types produced.
            In case of instructions to AST decompilation this should ideally be list of all types
            which are local to method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ParameterDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDefinition.#ctor(Microsoft.Cci.Ast.ParameterDeclaration)">
            <summary>
            
            </summary>
            <param name="declaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IParameterDefinition);
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ParameterDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.VisitReference(IParameterDefinition);
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.ContainingSignature">
            <summary>
            The method or property that defines this parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.CustomModifiers">
            <summary>
            The list of custom modifiers, if any, associated with the parameter. Evaluate this property only if IsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.DefaultValue">
            <summary>
            A compile time constant value that should be supplied as the corresponding argument value by callers that do not explicitly specify an argument value for this parameter.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.HasDefaultValue">
            <summary>
            True if the parameter has a default value that should be supplied as the argument value by a caller for which the argument value has not been explicitly specified.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.Index">
            <summary>
            The position in the parameter list where this instance can be found.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.IsByReference">
            <summary>
            True if the parameter is passed by reference (using a managed pointer).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.IsIn">
            <summary>
            True if the argument value must be included in the marshalled arguments passed to a remote callee.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.IsMarshalledExplicitly">
            <summary>
            This parameter has associated marshalling information.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.IsModified">
            <summary>
            This parameter has one or more custom modifiers associated with it.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.IsOptional">
            <summary>
            True if the argument value must be included in the marshalled arguments passed to a remote callee only if it is different from the default value (if there is one).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.IsOut">
            <summary>
            True if the final value assigned to the parameter will be marshalled with the return values passed back from a remote callee.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.IsParameterArray">
            <summary>
            True if the parameter has the ParamArrayAttribute custom attribute.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.MarshallingInformation">
            <summary>
            Specifies how this parameter is marshalled when it is accessed from unmanaged code.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.ParamArrayElementType">
            <summary>
            The element type of the parameter array.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.ParameterDeclarations">
            <summary>
            Gets the parameter declarations.
            </summary>
            <value>The parameter declarations.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.Name">
            <summary>
            The name of the entity.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.Type">
            <summary>
            The type of argument value that corresponds to this parameter.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ParameterDefinition.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.PropertyDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDefinition.#ctor(Microsoft.Cci.Ast.PropertyDeclaration)">
            <summary>
            
            </summary>
            <param name="declaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IPropertyDefinition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.PropertyDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Throws an InvalidOperation exception since valid Metadata never refers directly to a property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.Accessors">
            <summary>
            A list of methods that are associated with the property.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.Declaration">
            <summary>
            The declaration that corresponds to this definition.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.DefaultValue">
            <summary>
            A compile time constant value that provides the default value for the property. (Who uses this and why?)
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.Getter">
            <summary>
            The method used to get the value of this property. May be absent (null).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.HasDefaultValue">
            <summary>
            True if this property has a compile time constant associated with that serves as a default value for the property. (Who uses this and why?)
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.IsRuntimeSpecial">
            <summary>
            True if the property gets special treatment from the runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.IsSpecialName">
            <summary>
            True if this property is special in some way, as specified by the name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.Parameters">
            <summary>
            The parameters forming part of this signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.PropertyDeclarations">
            <summary>
            Gets the property declarations.
            </summary>
            <value>The property declarations.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.Name">
            <summary>
            The name of the entity.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.ReturnValueIsByRef">
            <summary>
            True if the return value is passed by reference (using a managed pointer).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.ReturnValueIsModified">
            <summary>
            True if the return value has one or more custom modifiers associated with it.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.Setter">
            <summary>
            The method used to set the value of this property. May be absent (null).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.Type">
            <summary>
            The return type of the method or type of the property.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.CallingConvention">
            <summary>
            Calling convention of the signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.PropertyDefinition.IsStatic">
            <summary>
            True if the referenced method or property does not require an instance of its declaring type as its first argument.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SignatureDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SignatureDefinition.#ctor(Microsoft.Cci.Ast.SignatureDeclaration)">
            <summary>
            
            </summary>
            <param name="declaration"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.Parameters">
            <summary>
            The parameters forming part of this signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.ReturnValueAttributes">
            <summary>
            Gets the return value attributes.
            </summary>
            <value>The return value attributes.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.ReturnValueIsByRef">
            <summary>
            True if the return value is passed by reference (using a managed pointer).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.ReturnValueIsModified">
            <summary>
            True if the return value has one or more custom modifiers associated with it.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.SignatureDeclarations">
            <summary>
            Gets the signature declarations.
            </summary>
            <value>The signature declarations.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.Type">
            <summary>
            The return type of the method or type of the property.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.CallingConvention">
            <summary>
            Calling convention of the signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SignatureDefinition.IsStatic">
            <summary>
            True if the referenced method or property does not require an instance of its declaring type as its first argument.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1">
            <summary>
            
            </summary>
            <typeparam name="MemberType"></typeparam>
        </member>
        <member name="M:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.#ctor(`0,Microsoft.Cci.IGenericTypeInstance)">
            <summary>
            
            </summary>
            <param name="unspecializedVersion"></param>
            <param name="containingGenericTypeInstance"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.ContainingGenericTypeInstance">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.UnspecializedVersion">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.ContainingTypeDefinition">
            <summary>
            The type definition that contains this member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.ContainingType">
            <summary>
            A reference to the containing type of the referenced type member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.ResolvedTypeDefinitionMember">
            <summary>
            The type definition member this reference resolves to.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.Container">
            <summary>
            The container instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.Name">
            <summary>
            The name of the entity.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.SpecializedTypeDefinitionMember`1.ContainingScope">
            <summary>
            The scope instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.CustomAttribute">
            <summary>
            Corresponds to a metadata custom attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CustomAttribute.#ctor(Microsoft.Cci.Ast.SourceCustomAttribute)">
            <summary>
            Constructs a metadata custom attribute that is a projection of a corresponding source custom attribute.
            </summary>
            <param name="sourceAttribute">The source custom attribute to project onto the symbol table attribute being constructed.</param>
        </member>
        <member name="F:Microsoft.Cci.Ast.CustomAttribute.sourceAttribute">
            <summary>
            The source attribute that is being projected onto this symbol table attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CustomAttribute.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(ICustomAttribute) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CustomAttribute.AllowMultiple">
            <summary>
            Specifies whether more than one instance of this type of attribute is allowed on same element. This information is obtained from an attribute on the attribute type definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CustomAttribute.Arguments">
            <summary>
            A list zero or more positional arguments for the attribute constructor, followed by zero or more named arguments that specify values for fields and properties of the attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CustomAttribute.Constructor">
            <summary>
            A reference to the constructor that will be used to instantiate this custom attribute during execution (if the attribute is inspected via Reflection).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CustomAttribute.Inherited">
            <summary>
            Specifies whether this attribute applies to derived types and/or overridden methods. This information is obtained from an attribute on the attribute type definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CustomAttribute.Type">
            <summary>
            The type of the attribute. For example System.AttributeUsageAttribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CustomAttribute.ValidOn">
            <summary>
            Specifies the symbol table elements on which it is valid to apply this attribute. This information is obtained from an attribute on the attribute type definition.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Documentation">
            <summary>
            A structured comment, such as this one, attached to a declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Documentation.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.DocumentationElement})">
            <summary>
            
            </summary>
            <param name="elements"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.Documentation.Elements">
            <summary>
            A collection of tagged (and attributed) elements that define the structured documentation.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Documentation.Text">
            <summary>
            The contents of the comment in plain text form.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DocumentationAttribute">
            <summary>
            A (name, string) pair that helps to define a documentation element. For example cref="IDocumentationAttribute" or type="bullet".
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DocumentationAttribute.#ctor(Microsoft.Cci.IName,System.String,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="value"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.DocumentationAttribute.Name">
            <summary>
            The name of the attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DocumentationAttribute.Value">
            <summary>
            The value of the attribute.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DocumentationElement">
            <summary>
            A part of a structured comment enclosed by a start tag (such as &lt;summary&gt;) and an end tag (such as &lt;/summary&gt;).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DocumentationElement.#ctor(Microsoft.Cci.IName,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.DocumentationAttribute},System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.DocumentationElement},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="attributes"></param>
            <param name="children"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DocumentationElement.#ctor(System.String,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="text"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.DocumentationElement.Attributes">
            <summary>
            The attributes defined for the element. These are included in the start tag.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DocumentationElement.Children">
            <summary>
            A list of tagged (and untagged text) elements that collectively make up the contents of the parent element.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DocumentationElement.Name">
            <summary>
            The (tag) name of the element (for example "summary"). May be Dummy.Name, in which case the element is really just text and the Attributes and Children collections will be empty.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DocumentationElement.Text">
            <summary>
            The contents of the element in plain text form.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.MarshallingInformation">
            <summary>
            When managed code calls unmanaged methods or exposes managed fields to unmanaged code, it is sometimes necessary to provide specific information about how the 
            managed types should be marshalled to and from the unmanaged types.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MarshallingInformation.#ctor(System.Runtime.InteropServices.UnmanagedType,System.Runtime.InteropServices.UnmanagedType,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Nullable{System.UInt32},System.Runtime.InteropServices.VarEnum,Microsoft.Cci.ITypeReference,Microsoft.Cci.ITypeReference,System.String)">
            <summary>
            When managed code calls unmanaged methods or exposes managed fields to unmanaged code, it is sometimes necessary to provide specific information about how the 
            managed types should be marshalled to and from the unmanaged types.
            </summary>
            <param name="unmanagedType">
            The unmanaged type to which the managed type will be marshalled. This can be be UnmanagedType.CustomMarshaler, in which case the umanaged type
            is decided at runtime.
            </param>
            The unmanged element type of the unmanaged array.
            <param name="elementType">
            </param>
            <param name="elementSize">
            The size of an element of the fixed sized umanaged array.
            </param>
            <param name="elementSizeMultiplier">
            A multiplier that must be applied to the value of the parameter specified by ParamIndex in order to work out the total size of the unmanaged array.
            </param>
            <param name="iidParameterIndex">Specifies the index of the parameter that contains the value of the Inteface Identifier (IID) of the marshalled object.</param>
            <param name="numberOfElements">
            The number of elements in the fixed size portion of the unmanaged array.
            </param>
            <param name="paramIndex">
            The zero based index of the parameter in the unmanaged method that contains the number of elements in the variable portion of unmanaged array.
            If the index is null, the variable portion is of size zero, or the caller conveys the size of the variable portion of the array to the unmanaged method in some other way.
            </param>
            <param name="safeArrayElementSubtype">
            The type to which the variant values of all elements of the safe array must belong. See also SafeArrayElementUserDefinedSubType.
            (The element type of a safe array is VARIANT. The "sub type" specifies the value of all of the tag fields (vt) of the element values. )
            </param>
            <param name="safeArrayElementUserDefinedSubtype">
            A reference to the user defined type to which the variant values of all elements of the safe array must belong.
            (The element type of a safe array is VARIANT. The tag fields will all be either VT_DISPATCH or VT_UNKNOWN or VT_RECORD.
            The "user defined sub type" specifies the type of value the ppdispVal/ppunkVal/pvRecord fields of the element values may point to.)
            May be null if the above does not apply.
            </param>
            <param name="customMarshaller">
            A reference to the type implementing the custom marshaller. Must not be be null if unmanagedType == System.Runtime.InteropServices.UnmanagedType.CustomMarshaler.
            </param>
            <param name="customMarshallerRuntimeArgument">
            An argument string (cookie) passed to the custom marshaller at run time. Must not be be null if unmanagedType == System.Runtime.InteropServices.UnmanagedType.CustomMarshaler.
            </param>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.CustomMarshaller">
            <summary>
            A reference to the type implementing the custom marshaller.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.CustomMarshallerRuntimeArgument">
            <summary>
            An argument string (cookie) passed to the custom marshaller at run time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.ElementSize">
            <summary>
            The size of an element of the fixed sized umanaged array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.ElementType">
            <summary>
            The unmanged element type of the unmanaged array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.IidParameterIndex">
            <summary>
            Specifies the index of the parameter that contains the value of the Inteface Identifier (IID) of the marshalled object.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.UnmanagedType">
            <summary>
            The unmanaged type to which the managed type will be marshalled. This can be be UnmanagedType.CustomMarshaler, in which case the umanaged type
            is decided at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.NumberOfElements">
            <summary>
            The number of elements in the fixed size portion of the unmanaged array.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.ParamIndex">
            <summary>
            The zero based index of the parameter in the unmanaged method that contains the number of elements in the variable portion of unmanaged array.
            If the index is null, the variable portion is of size zero, or the caller conveys the size of the variable portion of the array to the unmanaged method in some other way.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.SafeArrayElementSubtype">
            <summary>
            The type to which the variant values of all elements of the safe array must belong. See also SafeArrayElementUserDefinedSubType.
            (The element type of a safe array is VARIANT. The "sub type" specifies the value of all of the tag fields (vt) of the element values. )
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.SafeArrayElementUserDefinedSubtype">
            <summary>
            A reference to the user defined type to which the variant values of all elements of the safe array must belong.
            (The element type of a safe array is VARIANT. The tag fields will all be either VT_DISPATCH or VT_UNKNOWN or VT_RECORD.
            The "user defined sub type" specifies the type of value the ppdispVal/ppunkVal/pvRecord fields of the element values may point to.)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.MarshallingInformation.ElementSizeMultiplier">
            <summary>
            A multiplier that must be applied to the value of the parameter specified by ParamIndex in order to work out the total size of the unmanaged array.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NameDeclaration">
            <summary>
            A source code item corresponding to a name.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NameDeclaration.#ctor(Microsoft.Cci.IName,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a source code item corresponding to a name.
            </summary>
            <param name="name">The name.</param>
            <param name="sourceLocation">The location of the corresponding source code item.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NameDeclaration.#ctor(Microsoft.Cci.Ast.Compilation,Microsoft.Cci.Ast.NameDeclaration)">
            <summary>
            Allocates a copy of the given name declaration, but using the name table of the given
            target compilation to obtain the corresponding IName value.
            </summary>
            <param name="targetCompilation">The compilation that is the root node of the AST of which the new name declaration will be a part.</param>
            <param name="template">A name declaration from another declaration, whose source location and value is to be copied by the new name declaration.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NameDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls visitor.Visit((SourceDeclaration)this).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NameDeclaration.MakeCopyFor(Microsoft.Cci.Ast.Compilation)">
            <summary>
            Makes a copy of this name declaration using the name table from the given target declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NameDeclaration.ToString">
            <summary>
            Returns a string that represents this instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NameDeclaration.Name">
            <summary>
            The name being declared.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NameDeclaration.SourceLocation">
            <summary>
            The location in the source document that has been parsed to construct this item.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NameDeclaration.UniqueKey">
            <summary>
            An integer that is unique within the pool from which the name instance has been allocated. Useful as a hashtable key.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NameDeclaration.UniqueKeyIgnoringCase">
            <summary>
            An integer that is unique within the pool from which the name instance has been allocated. Useful as a hashtable key.
            All name instances in the pool that have the same string value when ignoring the case of the characters in the string
            will have the same key value.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NameDeclaration.Value">
            <summary>
            The string value corresponding to this name.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.SourceCustomAttribute">
            <summary>
            A custom attribute as it appears in source code. This may have special meaning to the compiler and might not be translated to a metadata custom attribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.#ctor(System.AttributeTargets,Microsoft.Cci.Ast.AttributeTypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a custom attribute as it appears in source code. This may have special meaning to the compiler and might not be translated to a metadata custom attribute.
            </summary>
            <param name="targets">The kinds of symbols that are the targetted by this attribute. Usually a single target will be specified.</param>
            <param name="type"></param>
            <param name="arguments"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.SourceCustomAttribute)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.SourceCustomAttribute.containingBlock">
            <summary>
            The (dummy) block used to provide a scope chain for the type expression and the argument expressions.
            Writeable by derived classes to allow for delayed initialization.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(SourceCustomAttribute) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.GetConstructor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.GetConstructors">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.GetUsageInformation">
            <summary>
            Obtains the values of AllowMultiple, Inherited and ValidOn by looking at the arguments of the AttributeUsage custom attribute that is supposed to be
            attached to the type of this custom attribute.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.SourceCustomAttribute.flags">
            <summary>
            Holds a bit (0x4000000) that indicates that the attribute usage attribute has already been inspected, a bit (0x20000000) that indicates that
            AllowMultiple is true, a bit (0x10000000) that indicates that Inherited is true and stores the value of ValidOn in the lower order bits.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.MakeShallowCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this source custom attribute, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SourceCustomAttribute.SetContainingExpression(Microsoft.Cci.Ast.Expression)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a custom attribute before constructing the container for the attribute.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.AllowMultiple">
            <summary>
            Specifies whether more than one instance of this type of attribute is allowed on same element. This information is obtained from an attribute on the attribute type definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.Arguments">
            <summary>
            A list zero or more postional arguments for the attribute constructor, followed by zero or more named arguments that specify values for fields and properties of the attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.Constructor">
            <summary>
            A reference to the constructor of the custom attribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.ConstructorArguments">
            <summary>
            A list of zero of more positional arguments for the attribute constructor.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.ContainingBlock">
            <summary>
            The (dummy) block used to provide a scope chain for the type expression and the argument expressions.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.Inherited">
            <summary>
            Specifies whether this attribute applies to derived types and/or overridden methods. This information is obtained from an attribute on the attribute type definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.ValidOn">
            <summary>
            Specifies the symbol table elements on which it is valid to apply this attribute. This information is obtained from an attribute on the attribute type definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.Targets">
            <summary>
            The kind of metadata object targeted by this attribute. Used when the source context is ambiguous. For example a return type attribute in C#.
            Zero if not specified in source. Usually at most one target is specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SourceCustomAttribute.Type">
            <summary>
            The type of the attribute. For example System.AttributeUsageAttribute.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AliasDeclaration">
            <summary>
            A simple name that serves as an alias for an expression supposed to be the name of a namespace or of a type.
            In C# this corresponds to the "using aliasName = namespaceOrTypeName;" construct.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceDeclarationMember">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclarationMember.#ctor(Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclarationMember.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceDeclarationMember)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclarationMember.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceDeclarationMember.containingNamespaceDeclaration">
            <summary>
            The namespace declaration in which this nested namespace declaration is nested.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclarationMember.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this namespace declarations member with the given namespace declaration as the containing namespace of the copy.
            </summary>
            <param name="targetNamespaceDeclaration">The namespace declaration that is to be the containing namespace of the copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclarationMember.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace member before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="containingNamespaceDeclaration">The containing namespace declaration.</param>
            <param name="recurse">True if the method should be called recursively on members of nested namespace declarations.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclarationMember.ContainingNamespaceDeclaration">
            <summary>
            The namespace declaration in which this nested namespace declaration is nested.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclarationMember.HasErrors">
            <summary>
            Checks the member for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclarationMember.Name">
            <summary>
            The name of the member. For example the alias of an alias declaration, the name of nested namespace and so on.
            Can be the empty name, for example if the construct is a namespace import.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasDeclaration.#ctor(Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="referencedNamespaceOrType"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.AliasDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the alias or a constituent part of the alias.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AliasDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this namespace declarations member with the given namespace declaration as the containing namespace of the copy.
            </summary>
            <param name="targetNamespaceDeclaration">The namespace declaration that is to be the containing namespace of the copy.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.AliasDeclaration.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace member before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="containingNamespaceDeclaration">The containing namespace declaration.</param>
            <param name="recurse">True if the method should be called recursively on members of nested namespace declarations.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.AliasDeclaration.ReferencedNamespaceOrType">
            <summary>
            An expression that, if correct, resolves to an INamespace instance or an ITypeDefinition instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AliasDeclaration.ResolvedNamespaceOrType">
            <summary>
            Resolves the ReferencedNamespaceOrType expression. If the expression fails to resolve an error is generated and a dummy namespace is returned.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceDeclaration">
            <summary>
            Represents a namespace construct as found in the source code.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            
            </summary>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceDeclaration.BusyResolvingAnAliasOrImport">
            <summary>
            If this is true, the alias declarations and namespace imports of this namespace declaration must be ignored when resolving
            simple names.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.GetAliasNamed(Microsoft.Cci.IName,System.Boolean,Microsoft.Cci.Ast.AliasDeclaration@,Microsoft.Cci.Ast.UnitSetAliasDeclaration@)">
            <summary>
            Returns the IAliasDeclaration or IUnitSetAliasDeclaration, if any, with the given name, ignoring the case of the name if so instructed.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.GetApplicableExtensionMethods(System.Collections.Generic.List{Microsoft.Cci.IMethodDefinition},Microsoft.Cci.Ast.SimpleName,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            Find a method group that is accessible and applicable for the given
            simple name and argument list. If no methods found go to enclosing namespaces.
            </summary>
            <param name="result"></param>
            <param name="simpleName"></param>
            <param name="arguments"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.GetExtensionMethodsFromDirectlyEnclosedTypes(System.Collections.Generic.List{Microsoft.Cci.IMethodDefinition},Microsoft.Cci.Ast.SimpleName,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            All the applicable methods found in ALL directly enclosed
            classes are aggregated into result method group.
            </summary>
            <param name="result"></param>
            <param name="simpleName"></param>
            <param name="arguments"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.GetExtensionMethodsViaUsingDirectives(System.Collections.Generic.List{Microsoft.Cci.IMethodDefinition},Microsoft.Cci.Ast.SimpleName,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression})">
            <summary>
            All the applicable methods found in ALL directly enclosed
            classes in ALL of the included namespaces are aggregated 
            into the result method group.
            </summary>
            <param name="result"></param>
            <param name="simpleName"></param>
            <param name="arguments"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.GetMethodExtensionGroup(Microsoft.Cci.IName,System.Boolean,Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            
            </summary>
            <param name="methodName"></param>
            <param name="ignoreCase"></param>
            <param name="namespaceDeclaration"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.InitializeIfNecessary">
            <summary>
            If this namespace declaration has not yet been initialized, parse the source, set the containing nodes of the result
            and report any scanning and parsing errors via the host environment. This method is called whenever 
            </summary>
            <remarks>Not called in incremental scenarios</remarks>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceDeclaration.members">
            <summary>
            A list of members that are either supplied as an argument during construction or later filled
            in via a method in the derived class. If InitializeIfNecessary is called, it must leave this
            field non null.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceDeclaration.methodBodyThatWillProvideNonEmptyNamespaceScopes">
            <summary>
            Only one method body per namespace declaration needs to write out PDB information about the used namespaces.
            This field tracks which body takes on that role. Initially, it is null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.SetContainingNodes">
            <summary>
            Completes the two part construction of the namespace declaration by setting the containing nodes
            of all of the nodes contained directly or indirectly inside this namespace declaration.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceDeclaration.cachedSourceAttributes">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceDeclaration.sourceAttributes">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDeclaration.UpdateMembers(System.Collections.Generic.List{Microsoft.Cci.Ast.INamespaceDeclarationMember},Microsoft.Cci.ISourceDocumentEdit)">
            <summary>
            This method is called when one of the members of this namespace declaration has been updated because of an edit.
            It returns a new namespace declaration object that is the same as this declaration, except that one of its members
            is different. Since all of the members have a ContainingNamespaceDeclaration property that should point to the new
            namespace declaration object, each of the members in the list (except the new one) will be shallow copied and reparented
            as soon as they are accessed.
            </summary>
            <remarks>The current implementation makes shallow copies of all members as soon as any one of them is accessed
            because all ways of accessing a particular member involves evaluating the Members property, which returns all members and
            hence has no choice but to make the copies up front. This not too great a disaster since the copies are shallow.</remarks>
            <param name="members">A new list of members, where all of the elements are the same as the elements of this.members, except for the
            member that has been updated, which appears in the list as an updated member.</param>
            <param name="edit">The edit that caused all of the trouble. This is used to update the source location of the resulting
            namespace declaration.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.Aliases">
            <summary>
            A collection of the members, if any, of this namespace that are namespace or type alias declarations.
            These correspond to the using id = ... clauses that can follow a C# namespace declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.Compilation">
            <summary>
            The compilation to which this namespace declaration belongs.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.CompilationPart">
            <summary>
            The compilation part that contains this namespace declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.DummyBlock">
            <summary>
            A block statement that serves as the declaring block of any expressions that form part of the the namespace declaration
            but that do not appear inside a method body.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.HasErrors">
            <summary>
            Checks the namespace for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.Helper">
            <summary>
            An instance of a language specific class containing methods that are of general utility. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.Imports">
            <summary>
            A collection of the members, if any, of this namespace that are namespace import declarations.
            These correspond to the using clauses that can follow a C# namespace declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.Members">
            <summary>
            The members of this namespace declaration. Members can include things such as types, nested namespaces, alias declarations, and so on.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.Scope">
            <summary>
            A scope containing all of the members in the associated namespace as well as all of the members of any namespaces imported by the namespace declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.SourceAttributes">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.UnitNamespace">
            <summary>
            The corresponding symbol table object. Effectively a namespace that unifies all of the namespace declarations with the same name for a particular unit.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.UnitSetAliases">
            <summary>
            A collection of the members, if any, of this namespace that are unit set aliases.
            These correspond to the "extern alias name;" syntax in C#.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.UnitSetNamespace">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDeclaration.UsedNamespaces">
            <summary>
            Zero or more used namespaces. These correspond to using clauses in C#.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UsedNamespace">
            <summary>
             A namespace that is used (imported) inside a namespace scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UsedNamespace.#ctor(Microsoft.Cci.IName,Microsoft.Cci.IName)">
            <summary>
            Allocates a namespace that is used (imported) inside a namespace scope.
            </summary>
            <param name="alias">The name of a namespace that has been aliased. For example the "y.z" of "using x = y.z;" or "using y.z" in C#. </param>
            <param name="namespaceName">The name of a namepace that has been aliased.  For example the "y.z" of "using x = y.z;" or "using y.z" in C#.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UsedNamespace.#ctor(Microsoft.Cci.IName)">
            <summary>
            Allocates a namespace that is used (imported) inside a namespace scope.
            </summary>
            <param name="namespaceName">The name of a namepace that has been aliased.  For example the "y.z" of "using x = y.z;" or "using y.z" in C#.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.UsedNamespace.Alias">
            <summary>
            An alias for a namespace. For example the "x" of "using x = y.z;" in C#. Empty if no alias is present.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.UsedNamespace.NamespaceName">
            <summary>
            The name of a namepace that has been aliased.  For example the "y.z" of "using x = y.z;" or "using y.z" in C#.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceImportDeclaration">
            <summary>
            Corresponds to "using Namespace;" in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceImportDeclaration.#ctor(Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.NamespaceReferenceExpression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="importedNamespace"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceImportDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceImportDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceImportDeclaration.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace member before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="recurse"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceImportDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the namespace import.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceImportDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceImportDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceImportDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this namespace declarations member with the given namespace declaration as the containing namespace of the copy.
            </summary>
            <param name="targetNamespaceDeclaration">The namespace declaration that is to be the containing namespace of the copy.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceImportDeclaration.ImportedNamespace">
            <summary>
            A reference to the namespace being imported. Includes the source expression.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceScope">
            <summary>
            A scope whose members consist of all of the members of the UnitSetNamespace of a NamespaceDeclaration, as well as the members of any imported namespaces.
            The scope members do not include the AliasDeclaration members of the declaration. However, these can be found via the GetAliasNamed method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceScope.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Allocates a scope whose members consist of all of the members of the UnitSetNamespace of a NamespaceDeclaration, as well as the members of any imported namespaces.
            The scope members do not include the AliasDeclaration members of the declaration. However, these can be found via the GetAliasNamed method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceScope.Contains(Microsoft.Cci.INamespaceMember)">
            <summary>
            Return true if the given member instance is a member of this scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceScope.GetMatchingMembersNamed(Microsoft.Cci.IName,System.Boolean,Microsoft.Cci.Function{Microsoft.Cci.INamespaceMember,System.Boolean})">
            <summary>
            Returns the list of members with the given name that also satisfies the given predicate.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceScope.GetMatchingMembers(Microsoft.Cci.Function{Microsoft.Cci.INamespaceMember,System.Boolean})">
            <summary>
            Returns the list of members with the given name that also satisfies the given predicate.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceScope.GetMembersNamed(Microsoft.Cci.IName,System.Boolean)">
            <summary>
            Returns the list of members with the given name.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceScope.namespaceDeclaration">
            <summary>
            The namespace declaration for which this is the scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceScope.Resolve(Microsoft.Cci.Ast.NamespaceReferenceExpression)">
            <summary>
            Call expression.Resolve(), but first set the BusyResolvingAnAliasOrImport flag to indicate that this scope should be skipped when resolving.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceScope.Members">
            <summary>
            The collection of member instances that are members of this scope.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedNamespaceDeclaration">
            <summary>
            A namespace that is nested inside another namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.#ctor(Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.INamespaceDeclarationMember},System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="members"></param>
            <param name="sourceAttributes"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NestedNamespaceDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the namespace or a constituent part of the namespace.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.NestedNamespaceDeclaration.containingNamespaceDeclaration">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.CreateNestedNamespace">
            <summary>
            Creates the nested namespace.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.InitializeIfNecessary">
            <summary>
            If this namespace declaration has not yet been initialized, parse the source, set the containing nodes of the result
            and report any scanning and parsing errors via the host environment. This method is called whenever 
            </summary>
            <remarks>Not called in incremental scenarios</remarks>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace member before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedNamespaceDeclaration.UpdateMembers(System.Collections.Generic.List{Microsoft.Cci.Ast.INamespaceDeclarationMember},Microsoft.Cci.ISourceDocumentEdit)">
            <summary>
            This method is called when one of the members of this namespace declaration has been updated because of an edit.
            It returns a new namespace declaration object that is the same as this declaration, except that one of its members
            is different. Since all of the members have a ContainingNamespaceDeclaration property that should point to the new
            namespace declaration object, each of the members in the list (except the new one) will be shallow copied and reparented
            as soon as they are accessed.
            </summary>
            <remarks>The current implementation makes shallow copies of all members as soon as any one of them is accessed
            because all ways of accessing a particular member involves evaluating the Members property, which returns all members and
            hence has no choice but to make the copies up front. This not too great a disaster since the copies are shallow.</remarks>
            <param name="members">A new list of members, where all of the elements are the same as the elements of this.members, except for the
            member that has been updated, which appears in the list as an updated member.</param>
            <param name="edit">The edit that caused all of the trouble. This is used to update the source location of the resulting
            namespace declaration.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedNamespaceDeclaration.ContainingNamespaceDeclaration">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedNamespaceDeclaration.CompilationPart">
            <summary>
            Gets the compilation part.
            </summary>
            <value>The compilation part.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedNamespaceDeclaration.DummyBlock">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedNamespaceDeclaration.Name">
            <summary>
            The name of the member. For example the alias of an alias declaration, the name of nested namespace and so on.
            Can be the empty name, for example if the construct is a namespace import.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedNamespaceDeclaration.NestedUnitNamespace">
            <summary>
            The corresponding symbol table object.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedNamespaceDeclaration.UnitNamespace">
            <summary>
            The corresponding symbol table object. Effectively a namespace that unifies all of the namespace declarations with the same name for a particular unit.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedNamespaceDeclaration.UnitSetNamespace">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.OptionDeclaration">
            <summary>
            Models the VB Option Explicit, Option Strict and Option Compare directives
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionDeclaration.#ctor(Microsoft.Cci.Ast.NameDeclaration,System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="dummyName"></param>
            <param name="compareStringsAsBinary"></param>
            <param name="explicit"></param>
            <param name="strict"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.OptionDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the option declaration.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(OptionDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            
            </summary>
            <param name="targetNamespaceDeclaration"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionDeclaration.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace member before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="recurse"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.OptionDeclaration.CompareStringsAsBinary">
            <summary>
            If true, strings are compared by doing binary comparisons between the character elements. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OptionDeclaration.Explicit">
            <summary>
            If true, all local variables must be explicitly declared.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OptionDeclaration.Strict">
            <summary>
            If true, type annotations must be present and all operations must resolve at compile time.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RootNamespaceDeclaration">
            <summary>
            An AST node for the anonymous (outermost) namespace of a compilation part.
            This declaration object is aggregrated with the root namespaces of each of the other
            compilation parts to jointly project onto a single IRootUnitNamespace object.
            The latter object is the one that gets persisted into the resulting assembly
            and that constitutes the symbol table that is consulted when analyzing the AST nodes.
            The aggregated namespace is available via the UnitNamespace property.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceDeclaration.#ctor(Microsoft.Cci.Ast.CompilationPart,System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},System.Collections.Generic.List{Microsoft.Cci.Ast.INamespaceDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a new anonymous (outermost) namespace declaration.
            </summary>
            <param name="compilationPart">The compilation part for which the resulting object is the root namespace declaration.</param>
            <param name="attributes">Custom attributes that appear explicitly in the source code.</param>
            <param name="members">The members of this namespace declaration. Members can include things such as types, nested namespaces, alias declarations, and so on.</param>
            <param name="sourceLocation">The location in the source that corresponds to this declaration object.</param>
            <remarks>Called when the compilation part already exists. This happens when a source document is parsed for the first time,
            as the result of a top down traversal of a compilation.</remarks>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceDeclaration.#ctor(Microsoft.Cci.Ast.CompilationPart,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a new anonymous (outermost) namespace declaration.
            Note that the members field of the resulting object should either be initialized before the first call to InitializeIfNecessary, or
            that method should be overridden with an implementation that initializes it.
            </summary>
            <param name="compilationPart"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the namespace or a constituent part of the namespace.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.RootNamespaceDeclaration.compilationPart">
            <summary>
            The compilation part for which this is the root namespace declaration.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.RootNamespaceDeclaration.flags">
            <summary>
            Members of the namespace, such as the Option directives in VB may set these flags during
            second phase initialization. (I.e. from inside their SetContainingNamespaceDeclaration methods.)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceDeclaration.InitializeIfNecessary">
            <summary>
            If this namespace declaration has not yet been initialized, parse the source, set the containing nodes of the result
            and report any scanning and parsing errors via the host environment. This method is called whenever 
            </summary>
            <remarks>Not called in incremental scenarios</remarks>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceDeclaration.SetContainingNodes">
            <summary>
            Makes this namespace declaration the parent of the nested namespaces and namespace types that
            are contained within this namespace declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootNamespaceDeclaration.UpdateMembers(System.Collections.Generic.List{Microsoft.Cci.Ast.INamespaceDeclarationMember},Microsoft.Cci.ISourceDocumentEdit)">
            <summary>
            This method is called when one of the members of this namespace declaration has been updated because of an edit.
            It returns a new namespace declaration object that is the same as this declaration, except that one of its members
            is different. Since all of the members have a ContainingNamespaceDeclaration property that should point to the new
            namespace declaration object, each of the members in the list (except the new one) will be shallow copied and reparented
            as soon as they are accessed.
            </summary>
            <remarks>The current implementation makes shallow copies of all members as soon as any one of them is accessed
            because all ways of accessing a particular member involves evaluating the Members property, which returns all members and
            hence has no choice but to make the copies up front. This not too great a disaster since the copies are shallow.</remarks>
            <param name="members">A new list of members, where all of the elements are the same as the elements of this.members, except for the
            member that has been updated, which appears in the list as an updated member.</param>
            <param name="edit">The edit that caused all of the trouble. This is used to update the source location of the resulting
            namespace declaration.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceDeclaration.CompareStringsAsBinary">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceDeclaration.CompilationPart">
            <summary>
            The compilation part for which this is the root namespace declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceDeclaration.DummyBlock">
            <summary>
            A block statement that provides an evaluation environment for any expressions that form
            part of members of the namespace declaration. For example, the initial values of global
            field declarations.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceDeclaration.Explicit">
            <summary>
            If true, all variables used inside this namespace should be declared explicitly. This
            corresponds to the Option explicit directive in VB.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceDeclaration.Strict">
            <summary>
            If true, type annotations must be present and all operations must resolve at compile time
            inside this namespace declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceDeclaration.UnitNamespace">
            <summary>
            The single namespace definition that aggregates all of the members of the root namespace declarations of
            all of the compilation parts of this compilation. In effect this is the root of the symbol table for
            this compilation.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RootNamespaceDeclaration.UnitSetNamespace">
            <summary>
            The root namepace of the unit set associated with the compilation that contains this namespace declaration.
            In effect this is the root of a symbol table that includes all of the symbols imported from external libraries (assemblies).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnitSetAliasDeclaration">
            <summary>
            A simple name that serves as an alias for an expression known to be the name of a unit set.
            In C# this corresponds to the "extern alias name;" syntax.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitSetAliasDeclaration.#ctor(Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="name"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitSetAliasDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.UnitSetAliasDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitSetAliasDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the unit set alias declaration.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitSetAliasDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(UnitSetAliasDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitSetAliasDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            
            </summary>
            <param name="targetNamespaceDeclaration"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnitSetAliasDeclaration.UnitSet">
            <summary>
            The unit set referenced by the alias.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedUnitNamespace">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UnitNamespace">
            <summary>
            A named collection of namespace members, with routines to search and maintain the collection. All the members belong to an associated
            IUnit instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.#ctor(Microsoft.Cci.IName,Microsoft.Cci.IUnit)">
            <summary>
            Allocates a named collection of namespace members, with routines to search and maintain the collection. All the members belong to an associated
            IUnit instance.
            </summary>
            <param name="name">The name of the namespace.</param>
            <param name="unit">The IUnit instance associated with this namespace.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.AddNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            The members of this namespace definition are the aggregation of the members of zero or more namespace declarations. This
            method adds another namespace declaration of the list of declarations that supply the members of this namespace definition.
            </summary>
            <param name="declaration">The namespace declaration to add to the list of declarations that together define this namespace definition.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.FillInWithAssemblyAttributes(System.Collections.Generic.List{Microsoft.Cci.ICustomAttribute},System.Boolean@)">
            <summary>
            Populate the given list with all of the assembly attributes in this namespace and its nested namespaces.
            If sawTypeExtensions is false, also look for any types in this namespace and its nested namespaces that
            have the HasExtensionMethod property set to true and set sawTypeExtensions to true if such a type is found.
            </summary>
            <param name="attributes">A list to fill in with the assembly attributes in this namespace.</param>
            <param name="sawTypeWithExtensions">If sawTypeExtensions is false, also look for any types in this namespace and its nested namespaces that
            have the HasExtensionMethod property set to true and set sawTypeExtensions to true if such a type is found.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.FillInWithModuleAttributes(System.Collections.Generic.List{Microsoft.Cci.ICustomAttribute})">
            <summary>
            Populate the given list with all of the module attributes in this namespace and its nested namespaces.
            </summary>
            <param name="attributes">A list to fill in with the module attributes in this namespace.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.FillInWithTypes(Microsoft.Cci.INamespaceDefinition,System.Collections.Generic.List{Microsoft.Cci.INamedTypeDefinition})">
            <summary>
            Appends all of the type members of the given namespace (as well as those of its nested namespaces and types) to
            the given list of types.
            </summary>
            <param name="nameSpace">The namespace to (recursively) traverse to find nested types.</param>
            <param name="typeList">A mutable list of types to which any types found inside the given namespace will be appended.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.FillInWithNestedTypes(Microsoft.Cci.INamedTypeDefinition,System.Collections.Generic.List{Microsoft.Cci.INamedTypeDefinition})">
            <summary>
            Appends all of the type members of the given type definition (as well as those of its nested types) to the given list of types.
            </summary>
            <param name="typeDefinition">The type definition to (recursively) traverse to find nested types.</param>
            <param name="typeList">A mutable list of types to which any types found inside the given namespace will be appended.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.GetAggregatedMember(Microsoft.Cci.Ast.IAggregatableNamespaceDeclarationMember)">
            <summary>
            Finds or creates an aggregated member instance corresponding to the given member. Usually this should result in the given member being added to the declarations
            collection of the aggregated member.
            </summary>
            <param name="member">The member to aggregate.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UnitNamespace.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnitNamespace.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnitNamespace.NamespaceDeclarations">
            <summary>
            The list of namespace declarations that together define this namespace definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnitNamespace.Unit">
            <summary>
            The IUnit instance associated with this namespace.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnitNamespace.RootOwner">
            <summary>
            The object associated with the namespace. For example an IUnit or IUnitSet instance. This namespace is either the root namespace of that object
            or it is a nested namespace that is directly of indirectly nested in the root namespace.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnitNamespace.Locations">
            <summary>
            The source locations of the zero or more namespace declarations that together define this namespace definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UnitNamespace.ResolvedUnitNamespace">
            <summary>
            The namespace definition being referred to.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedUnitNamespace.#ctor(Microsoft.Cci.IUnitNamespace,Microsoft.Cci.IName,Microsoft.Cci.IUnit)">
            <summary>
            
            </summary>
            <param name="containingUnitNamespace"></param>
            <param name="name"></param>
            <param name="unit"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedUnitNamespace.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(INestedUnitNamespace) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedUnitNamespace.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(INestedUnitNamespaceReference).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedUnitNamespace.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedUnitNamespace.ContainingUnitNamespace">
            <summary>
            The unit namespace that contains this member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedUnitNamespace.ContainingScope">
            <summary>
            The scope instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedUnitNamespace.Container">
            <summary>
            The container instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedUnitNamespace.ResolvedNestedUnitNamespace">
            <summary>
            The namespace definition being referred to.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.RootUnitNamespace">
            <summary>
            A unit namespace that is not nested inside another namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootUnitNamespace.#ctor(Microsoft.Cci.IName,Microsoft.Cci.IUnit)">
            <summary>
            Allocates a unit namespace that is not nested inside another namespace.
            </summary>
            <param name="name"></param>
            <param name="unit"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootUnitNamespace.AddContainer(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            
            </summary>
            <param name="container"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootUnitNamespace.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IRootUnitNamespace).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootUnitNamespace.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IRootUnitNamespaceReference).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RootUnitNamespace.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Ast.FrameworkOptions">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FrameworkOptions.CheckedArithmetic">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FrameworkOptions.CodePage">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FrameworkOptions.DisplayCommandLineHelp">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FrameworkOptions.DisplayVersion">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FrameworkOptions.FileNames">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FrameworkOptions.OutputFileName">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.FrameworkOptions.ReferencedAssemblies">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.OptionParser`1">
            <summary>
            
            </summary>
            <typeparam name="Options"></typeparam>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.#ctor(Microsoft.Cci.MetadataHostEnvironment)">
            <summary>
            
            </summary>
            <param name="hostEnvironment"></param>
        </member>
        <member name="F:Microsoft.Cci.Ast.OptionParser`1.alreadySeenResponseFiles">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.OptionParser`1.hostEnvironment">
            <summary>
            
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.OptionParser`1.options">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ParseCommandLineArguments(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            
            </summary>
            <param name="arguments"></param>
            <param name="oneOrMoreSourceFilesExpected"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.DirectoryIsOk(System.String,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="path"></param>
            <param name="pattern"></param>
            <param name="extension"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ParseCompilerOption(System.String)">
            <summary>
            
            </summary>
            <param name="arg"></param>
            <returns></returns>
        </member>
        <member name="F:Microsoft.Cci.Ast.OptionParser`1.spaceNewLineTabQuote">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ParseOptionBatch(System.String)">
            <summary>
            
            </summary>
            <param name="arg"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ParseName(System.String,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="arg"></param>
            <param name="name"></param>
            <param name="shortName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ParseNamedBoolean(System.String,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="arg"></param>
            <param name="name"></param>
            <param name="shortName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ParseNamedArgument(System.String,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="arg"></param>
            <param name="name"></param>
            <param name="shortName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ParseNamedArgumentList(System.String,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="arg"></param>
            <param name="name"></param>
            <param name="shortName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.GetArgumentSeparatorIndex(System.String,System.Int32)">
            <summary>
            
            </summary>
            <param name="argList"></param>
            <param name="startIndex"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ReadSourceText(System.String)">
            <summary>
            
            </summary>
            <param name="fileName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.ReportError(Microsoft.Cci.Ast.Error,System.String[])">
            <summary>
            
            </summary>
            <param name="error"></param>
            <param name="messageArguments"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OptionParser`1.LocalizedNoSuchFile(System.String)">
            <summary>
            
            </summary>
            <param name="fileName"></param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Ast.AssertStatement">
            <summary>
            A statement that asserts that a condition must always be true when execution reaches it. For example the assert statement of Spec#.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Statement">
            <summary>
            An executable statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Statement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Initializes an executable statement.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Statement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.Statement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Statement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Statement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Statement.Compilation">
            <summary>
            The compilation that contains this statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Statement.CompilationPart">
            <summary>
            The compilation part that contains this statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Statement.ContainingBlock">
            <summary>
            The block in which this statement is nested. If the statement is the outer most block of a method, then the containing block is itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Statement.Helper">
            <summary>
            An instance of a language specific class containing methods that are of general utility. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Statement.NameTable">
            <summary>
            A table used to intern strings used as names. This table is obtained from the host environment.
            It is mutuable, in as much as it is possible to add new names to the table.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Statement.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssertStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="condition"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssertStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AssertStatement)">
            <summary>
            
            </summary>
            <param name="containingBlock"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssertStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssertStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAssertStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssertStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AssertStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssertStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssertStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssertStatement.Condition">
            <summary>
            A condition that must be true when execution reaches this statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssertStatement.Description">
            <summary>
            An optional expression that is associated with the assertion. Generally, it would
            be a message that was written at the same time as the contract and is meant to be used as a description
            when the contract fails.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssertStatement.OriginalSource">
            <summary>
            The original source representation of the assertion.
            </summary>
            <remarks>
            Normally this would be extracted directly from the source file.
            The expectation is that one would translate the Condition into
            a source string in a source language appropriate for
            the particular tool environment, e.g., when doing static analysis,
            in the language the client code uses, not the language the contract
            was written.
            </remarks>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssertStatement.ConvertedCondition">
            <summary>
            The condition that must be true at the start of the method that is associated with this Precondition instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssertStatement.HasBeenVerified">
            <summary>
            True if a static verification tool has determined that the condition will always be true when execution reaches this statement.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AssumeStatement">
            <summary>
            A statement that asserts that a condition will always be true when execution reaches it. For example the assume statement of Spec#
            or a call to System.Diagnostics.Assert in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssumeStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="condition"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssumeStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.AssumeStatement)">
            <summary>
            
            </summary>
            <param name="containingBlock"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssumeStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssumeStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAssumeStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssumeStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AssumeStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssumeStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AssumeStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssumeStatement.Condition">
            <summary>
            A condition that must be true when execution reaches this statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssumeStatement.Description">
            <summary>
            An optional expression that is associated with the assumption. Generally, it would
            be a message that was written at the same time as the contract and is meant to be used as a description
            when the contract fails.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssumeStatement.OriginalSource">
            <summary>
            The original source representation of the assumption.
            </summary>
            <remarks>
            Normally this would be extracted directly from the source file.
            The expectation is that one would translate the Condition into
            a source string in a source language appropriate for
            the particular tool environment, e.g., when doing static analysis,
            in the language the client code uses, not the language the contract
            was written.
            </remarks>
        </member>
        <member name="P:Microsoft.Cci.Ast.AssumeStatement.ConvertedCondition">
            <summary>
            The condition that must be true at the start of the method that is associated with this Precondition instance.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.AttachEventHandlerStatement">
            <summary>
            Represents a statement that attaches an event-handler delegate to an event.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttachEventHandlerStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="event"></param>
            <param name="handler"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttachEventHandlerStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttachEventHandlerStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttachEventHandlerStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(AttachEventHandlerStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.AttachEventHandlerStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AttachEventHandlerStatement.Event">
            <summary>
            The event to attach an event-handler delegate to.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.AttachEventHandlerStatement.Handler">
            <summary>
            The event-handler delegate to attach to the event
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BlockStatement">
            <summary>
            A delimited collection of statements to execute in a new (nested) scope.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.Statement},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a delimited collection of statements to execute in a new (nested) scope.
            </summary>
            <param name="statements">The statements making up the block.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.Statement},Microsoft.Cci.Ast.BlockStatement.Options,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates a delimited collection of statements to execute in a new (nested) scope.
            </summary>
            <param name="statements">The statements making up the block.</param>
            <param name="options">A Value that indicate if the block is checked/unchecked and safe/unsafe or whether it inherits these settings from its containing block or from a compilation option.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.CreateStatementScope">
            <summary>
            Creates a statement scope for this block. Do not call this directly, but use this.Scope to get a cached instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IBlockStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BlockStatement) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.BlockStatement.flags">
            <summary>
            Bit array of boolean values: 1 == Unsafe Initialized, 2 == Inherit Unsafe, 4 = Allow Unsafe, 8 = Checked Initialized, 16 = Inherit Checked, 32 = Use Checked
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.PopulateLocalVariableList(System.Collections.Generic.ICollection{Microsoft.Cci.ILocalDefinition})">
            <summary>
            Recursively visits all statements of the block, appending any local variable definitions to the given list.
            </summary>
            <param name="localVariables"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.SetContainers(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.SetContainers(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ISignatureDeclaration)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.SetContainers(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.CreateDummyFor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Creates an empty BlockStatement for the given source location with default options.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BlockStatement.CreateDummyFor(Microsoft.Cci.Ast.BlockStatement.Options,Microsoft.Cci.ISourceLocation)">
            <summary>
            Creates an empty BlockStatement for the given options and source location.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.AllowUnsafe">
            <summary>
            True if unsafe constructs are allowed inside this block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.CompilationPart">
            <summary>
            The compilation part that contains this statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.ContainingMethodDefinition">
            <summary>
            The method definition, if any, that contains this statement block. This can be null if this statement block is part of an anonymous delegate or lambda expression that
            is used to initialize a field.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.ContainingNamespaceDeclaration">
            <summary>
            The namespace declaration that contains this statement block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.ContainingSignatureDeclaration">
            <summary>
            The signature declaration (such as a lambda, method, property or anonymous method) that contains this statement block.
            This can be null if this is a dummy block associated with a type declaration or namespace declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.ContainingTypeDeclaration">
            <summary>
            The type declaration that contains this statement block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.Scope">
            <summary>
            The scope defined by this block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.SingletonStatement">
            <summary>
            If the block contains a single executable statement, that statement is returned. Otherwise null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.Statements">
            <summary>
            The statements making up the block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.UseCheckedArithmetic">
            <summary>
            True if, by default, all arithmetic expressions in the block must be checked for overflow. This setting is inherited by nested blocks and
            can be overridden by nested blocks and expressions.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.BlockStatement.IsEmpty">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BlockStatement.Options">
            <summary>
            Values that indicate if a block is checked/unchecked and safe/unsafe or whether it inherits these settings from its containing block or from a compilation option.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.BlockStatement.Options.Default">
            <summary>
            The block inherits its checked/unchecked and safe/unsafe setting from its parent. If there is no parent, the checked/unchecked setting is determined by a compilation option.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.BlockStatement.Options.AllowUnsafeCode">
            <summary>
            Code inside the block can contain unsafe constructs.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.BlockStatement.Options.UseCheckedArithmetic">
            <summary>
            Arithmetic operations inside this block throw an exception if overflow occurs.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.BlockStatement.Options.UseUncheckedArithmetic">
            <summary>
            Arithmetic operations inside this block silently overflow.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.BreakStatement">
            <summary>
            Breaks (exits) out of the innner most containing loop or switch case.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BreakStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Terminates execution of the innermost loop statement or switch case containing this statement directly or indirectly.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BreakStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BreakStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.BreakStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BreakStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BreakStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BreakStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IBreakStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BreakStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.BreakStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.CatchClause">
            <summary>
            Represents a catch clause of a try-catch statement or a try-catch-finally statement. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a catch clause of a try-catch statement or a try-catch-finally statement. 
            </summary>
            <param name="exceptionType">The type of the exception to handle.</param>
            <param name="filterCondition">A condition that must evaluate to true if the catch clause is to be executed. 
            May be null, in which case any exception of ExceptionType will cause the handler to execute.</param>
            <param name="name">The name of the local definition that contains the exception value during the execution of the catch clause body. May be null.</param>
            <param name="body">The statements within the catch clause.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.CatchClause)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ICatchClause) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(CatchClause) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.GetNewExceptionContainer">
            <summary>
            Allocates the local that contains the exception instance when executing the catch clause body.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.CatchClause.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CatchClause.Body">
            <summary>
            The statements within the catch clause.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CatchClause.ExceptionContainer">
            <summary>
            The local that contains the exception instance when executing the catch clause body.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CatchClause.ExceptionType">
            <summary>
            The type of the exception to handle.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CatchClause.FilterCondition">
            <summary>
            A condition that must evaluate to true if the catch clause is to be executed. 
            May be null, in which case any exception of ExceptionType will cause the handler to execute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.CatchClause.Name">
            <summary>
            The name of the local definition that contains the exception value during the execution of the catch clause body.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ClearLastErrorStatement">
            <summary>
            Nulls out the Err variable that records the last exeption that was caught in the method containing this statement.
            This statement corresponds to the "On Error Goto -1" statement in VB.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ClearLastErrorStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ClearLastErrorStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ClearLastErrorStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ClearLastErrorStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ClearLastErrorStatement) method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ConditionalStatement">
            <summary>
            An object that represents a statement consisting of two sub statements and a condition that governs which one of the two gets executed. Most languages refer to this as an "if statement".
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConditionalStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Statement,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an object that represents a statement consisting of two sub statements and a condition that governs which one of the two gets executed. Most languages refer to this as an "if statement".
            </summary>
            <param name="condition">The expression to evaluate as true or false.</param>
            <param name="trueBranch">Statement to execute if the conditional expression evaluates to true. </param>
            <param name="falseBranch">Statement to execute if the conditional expression evaluates to false. </param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConditionalStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ConditionalStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConditionalStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConditionalStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IConditionalStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConditionalStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ConditionalStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConditionalStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ConditionalStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConditionalStatement.Condition">
            <summary>
            The expression to evaluate as true or false.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConditionalStatement.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConditionalStatement.FalseBranch">
            <summary>
            Statement to execute if the conditional expression evaluates to false. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ConditionalStatement.TrueBranch">
            <summary>
            Statement to execute if the conditional expression evaluates to true. 
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ContinueStatement">
            <summary>
            Terminates execution of the loop body containing this statement directly or indirectly and continues on to the loop exit condition test.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ContinueStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Terminates execution of the loop body containing this statement directly or indirectly and continues on to the loop exit condition test.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ContinueStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ContinueStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ContinueStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ContinueStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IContinueStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ContinueStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ContinueStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ContinueStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ContinueStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DisableOnErrorHandler">
            <summary>
            Disables the error handler set up by the last "On Error ..." statement executed in the method containing this statement.
            Should an exception occur after executing this statement and before executing another "On Error ..." statement, exceptions that would have
            been handled by the disabled error handler will now cause the method to be terminated and the exception to be passed on to the caller.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DisableOnErrorHandler.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DisableOnErrorHandler.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DisableOnErrorHandler.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DisableOnErrorHandler.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(DisableOnErrorHandler) method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DoWhileStatement">
            <summary>
            Do statements while condition. Tests the condition after the body. Exits when the condition is false.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoWhileStatement.#ctor(Microsoft.Cci.Ast.Statement,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Do statements while condition. Tests the condition after the body. Exits when the condition is false.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoWhileStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.DoWhileStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoWhileStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoWhileStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IDoUntil) method on a projection of this object onto a DoUntilStatement object.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoWhileStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(DoWhileStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoWhileStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoWhileStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DoWhileStatement.Body">
            <summary>
            The body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DoWhileStatement.Condition">
            <summary>
            The condition to evaluate as false or true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DoWhileStatement.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.DoUntilStatement">
            <summary>
            Do statements until condition. Tests the condition after the body. Exits when the condition is true.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoUntilStatement.#ctor(Microsoft.Cci.Ast.Statement,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Do statements until condition. Tests the condition after the body. Exits when the condition is true.
            </summary>
            <param name="body">The body of the loop.</param>
            <param name="condition">The condition to evaluate as false or true.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoUntilStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.DoUntilStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoUntilStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoUntilStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IDoUntilStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoUntilStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(DoUntilStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoUntilStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.DoUntilStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DoUntilStatement.Body">
            <summary>
            The body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DoUntilStatement.Condition">
            <summary>
            The condition to evaluate as false or true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.DoUntilStatement.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EmptyStatement">
            <summary>
            An empty statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyStatement.#ctor(System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an empty statement.
            </summary>
            <param name="isSentinel">True if this statement is a sentinel that should never be reachable.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.EmptyStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IEmptyStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(EmptyStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EmptyStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EmptyStatement.IsSentinel">
            <summary>
            True if this statement is a sentinel that should never be reachable.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EndStatement">
            <summary>
            Terminates the current execution.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EndStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EndStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EndStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EndStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(EndStatement) method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.EraseStatement">
            <summary>
            A statement that assigns null to each of its target expressions. This models the VB Erase statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EraseStatement.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.AddressableExpression},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="targets"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.EraseStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EraseStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.EraseStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(EraseStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.EraseStatement.Targets">
            <summary>
            The target locations to be set to null.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ErrorStatement">
            <summary>
            A statement that throws an instance of System.Exeception that wraps the error number value specified by ErrorNumber.
            This corresponds to the VB Error statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ErrorStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="errorNumber"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ErrorStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ErrorStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ErrorStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ErrorStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ErrorStatement.ErrorNumber">
            <summary>
            Results in an error number that is wrapped with a System.Exception object that is thrown when the containing error statement is executed.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ExpressionStatement">
            <summary>
            An object that represents a statement that consists of a single expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.#ctor(Microsoft.Cci.Ast.Expression)">
            <summary>
            Allocates an object that represents a statement that consists of a single expression.
            </summary>
            <param name="expression">The expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an object that represents a statement that consists of a single expression.
            </summary>
            <param name="expression">The expression.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ExpressionStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IExpressionStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ExpressionStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ExpressionStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ExpressionStatement.Expression">
            <summary>
            The expression.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.FieldInitializerStatement">
            <summary>
            A statement that has no source equivalent and that serves as a marker for the place where a constructor
            should have assignment statements to initialize instance fields that have explicit initial value expressions.
            In C#, this initialization happens before the base class constructor is called, which happens before any
            of the explicit code in the constructor is executed.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldInitializerStatement.#ctor">
            <summary>
            Allocates a statement that has no source equivalent and that serves as a marker for the place where a constructor
            should have assignment statements to initialize instance fields that have explicit initial value expressions.
            In C#, this initialization happens before the base class constructor is called, which happens before any
            of the explicit code in the constructor is executed.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldInitializerStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.FieldInitializerStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldInitializerStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldInitializerStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit on zero or more assigment statements that initialize instance fields of the containing type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldInitializerStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Does nothing. This statement is a parser artifact and has no source location.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FieldInitializerStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FieldInitializerStatement.FieldInitializers">
            <summary>
            Returns a list of statements that will initialize any instance fields that have explicit initial values.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.FixedStatement">
            <summary>
            Models the fixed statement in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.#ctor(Microsoft.Cci.Ast.LocalDeclarationsStatement,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Models the fixed statement in C#.
            </summary>
            <param name="fixedPointerDeclarators">A local declarations statement that declares one or more pointer typed variables to hold the fixed pointers.</param>
            <param name="body">The body of the fixed statement.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.FixedStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.CreateDummyBlock">
            <summary>
            Creates a new dummy block that provides a scope for the loop variable.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls this.DummyBlock.Dispatch(visitor).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(FixedStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FixedStatement.Body">
            <summary>
            The body of the fixed statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FixedStatement.DummyBlock">
            <summary>
            A dummy block that provides a scope for the loop variable.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.FixedStatement.FixedPointerDeclarators">
            <summary>
            A local declarations statement that declares one or more pointer typed variables to hold the fixed pointers.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ForEachStatement">
            <summary>
            Represents a foreach statement. Executes the loop body for each element of a collection.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a foreach statement. Executes the loop body for each element of a collection.
            </summary>
            <param name="variableType">The type of the foreach loop variable that holds the current element from the collection.</param>
            <param name="variableName">The name of the foreach loop variable that holds the current element from the collection.</param>
            <param name="collection">An epxression resulting in an enumerable collection of values (an object implementing System.Collections.IEnumerable).</param>
            <param name="body">The body of the loop.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ForEachStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.CreateDummyBlock(Microsoft.Cci.Ast.LocalDefinition@)">
            <summary>
            Creates a new dummy block that provides a scope for the loop variable.
            </summary>
            <param name="loopVar">An out parameter providing the loop variable definition from the newly created block.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IForEachStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ForEachStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForEachStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForEachStatement.Body">
            <summary>
            The body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForEachStatement.Collection">
            <summary>
            An epxression resulting in an enumerable collection of values (an object implementing System.Collections.IEnumerable).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForEachStatement.DummyBlock">
            <summary>
            A dummy block that provides a scope for the loop variable.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForEachStatement.VariableName">
            <summary>
            The name of the foreach loop variable that holds the current element from the collection.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForEachStatement.VariableType">
            <summary>
            The type of the foreach loop variable that holds the current element from the collection.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForEachStatement.Variable">
            <summary>
            The foreach loop variable that holds the current element from the collection.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ForRangeStatement">
            <summary>
            Represents a "for i = expr1 to expr2 step expr3 next i" statement in VB.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForRangeStatement.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.Ast.Range,Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="variableTypeExpression"></param>
            <param name="variableName"></param>
            <param name="range"></param>
            <param name="step"></param>
            <param name="body"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForRangeStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForRangeStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Projects the statement onto a ForStatement and calls visitor.Visit(IForStatement).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForRangeStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ForRangeStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForRangeStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.Body">
            <summary>
            The body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.Condition">
            <summary>
            An expression that returns true if the loop variable falls inside the range.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.Incrementer">
            <summary>
            A statement that increments the loop variable (by Step, if specified, otherwise by 1).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.Initializer">
            <summary>
            A statement that initializes the loop variable.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.Range">
            <summary>
            An expression resulting in an enumerable range of numeric values.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.Step">
            <summary>
            An expression resulting in a number that is repeatedly added to the starting value of Range 
            until the result is greater than or equal to the ending value of the Range. May be null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.VariableName">
            <summary>
            The for range loop variable that holds the number from the range.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.VariableTypeExpression">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForRangeStatement.VariableType">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ForStatement">
            <summary>
            Represents a for statement, or a loop through a block of statements, using a test expression as a condition for continuing to loop.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.Statement},Microsoft.Cci.Ast.Expression,System.Collections.Generic.List{Microsoft.Cci.Ast.Statement},Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a for statement, or a loop through a block of statements, using a test expression as a condition for continuing to loop.
            </summary>
            <param name="initStatements">The loop initialization statements.</param>
            <param name="condition">The expression to evaluate as true or false, which determines if the loop is to continue.</param>
            <param name="incrementStatements">Statements that are called after each loop cycle, typically to increment a counter.</param>
            <param name="body">The statements making up the body of the loop.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ForStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IForStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ForStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.GetNewForBlock">
            <summary>
            Allocates block that encloses the initializer statements, condition, increment statements and the for body.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ForStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForStatement.Body">
            <summary>
            The statements making up the body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForStatement.Condition">
            <summary>
            The expression to evaluate as true or false, which determines if the loop is to continue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForStatement.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForStatement.ForBlock">
            <summary>
            A block that encloses the initializer statements, condition, increment statements and the for body.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForStatement.IncrementStatements">
            <summary>
            Statements that are called after each loop cycle, typically to increment a counter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ForStatement.InitStatements">
            <summary>
            The loop initialization statements.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GotoStatement">
            <summary>
            Represents a goto statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoStatement.#ctor(Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a goto statement.
            </summary>
            <param name="targetLabel">The label of the statement at which the program execution is to continue.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GotoStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IGotoStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GotoStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GotoStatement.TargetLabel">
            <summary>
            The label of the statement at which the program execution is to continue.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GotoStatement.TargetStatement">
            <summary>
            The statement at which the program execution is to continue.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GotoSwitchCaseStatement">
            <summary>
            Represents a "goto case x;" or "goto default" statement in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoSwitchCaseStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a "goto case x;" or "goto default" statement in C#.
            </summary>
            <param name="targetCaseLabel">The case label (constant) of the switch statement case clause to which this statement transfers control to. May be null (for the default case).</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoSwitchCaseStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.GotoSwitchCaseStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoSwitchCaseStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoSwitchCaseStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IGotoSwitchCaseStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GotoSwitchCaseStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GotoSwitchCaseStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GotoSwitchCaseStatement.TargetCaseLabel">
            <summary>
            The case label (constant) of the switch statement case clause to which this statement transfers control to. May be null (for the default case).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GotoSwitchCaseStatement.TargetCase">
            <summary>
            The switch statement case clause to which this statement transfers control to.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LabeledStatement">
            <summary>
            An object that represents a labeled statement or a stand-alone label.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LabeledStatement.#ctor(Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an object that represents a labeled statement or a stand-alone label.
            </summary>
            <param name="label">The label.</param>
            <param name="statement">The associated statement. Contains an empty statement if this is a stand-alone label.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LabeledStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LabeledStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LabeledStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LabeledStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ILabeledStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LabeledStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LabeledStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LabeledStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LabeledStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LabeledStatement.Label">
            <summary>
            The label.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LabeledStatement.Statement">
            <summary>
            The associated statement. Contains an empty statement if this is a stand-alone label.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.QuantifierVariable">
            <summary>
            A type and name pair to be used as a bound variable in a quantifier expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QuantifierVariable.#ctor(Microsoft.Cci.Ast.TypeExpression,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates local declaration that appears as part of a statement containing a collection of local declarations, all with the same type.
            </summary>
            <param name="type">The type of the variable.</param>
            <param name="name">The name of the variable.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.QuantifierVariable.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.QuantifierVariable)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block. This should be different from the containing block of the template declaration.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.QuantifierVariable.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(BoundVariable) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QuantifierVariable.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the item or a constituent part of the item.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QuantifierVariable.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this local declaration, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.QuantifierVariable.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.QuantifierVariable.ContainingBlock">
            <summary>
            The block that contains the bound variable.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.QuantifierVariable.Name">
            <summary>
            The name of the variable.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.QuantifierVariable.Type">
            <summary>
            The type of the variable.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.FixedPointerDeclaration">
            <summary>
            A local declaration that holds a pointer to a fixed object.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LocalDeclaration">
            <summary>
            A local declaration that appears as part of a statement containing a collection of local declarations, all with the same type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.#ctor(System.Boolean,System.Boolean,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates local declaration that appears as part of a statement containing a collection of local declarations, all with the same type.
            </summary>
            <param name="isReference">True if the local contains a managed pointer (for example a reference to an object or a reference to a field of an object).</param>
            <param name="isPinned">True if the value referenced by the local must not be moved by the actions of the garbage collector.</param>
            <param name="name">The name of the local.</param>
            <param name="initialValue">The value, if any, to assign to the local as its initial value. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.#ctor(Microsoft.Cci.Ast.LocalDeclarationsStatement,Microsoft.Cci.Ast.LocalDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingLocalDeclarationsStatement">The containing statement. This should be different from the containing statement of the template declaration.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.ConvertInitialValue">
            <summary>
            Returns an expression that resulting in an implicit conversion of this.InitialValue to this.Type. 
            If this.InitialValue is null, a dummy expression is returned.
            Call this method via this.ConvertedValue, so that its result can get cached.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.DeclarationNameIsInUse">
            <summary>
            Returns true if the name of this declaration has already been used in the current scope or an outer scope.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit((ILocalDeclarationStatement)this).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LocalDeclaration) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.LocalDeclaration.flags">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.GetCompileTimeValue">
            <summary>
            Returns the value of the intializer expression, provided that the expression
            has been provided, can be converted to the type of the declaration and has a value at compile time.
            Otherwise returns an instance of DummyConstant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.CreateLocalDefinition">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.MakeCopyFor(Microsoft.Cci.Ast.LocalDeclarationsStatement)">
            <summary>
            Makes a copy of this local declaration, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclaration.SetContainingLocalDeclarationsStatement(Microsoft.Cci.Ast.LocalDeclarationsStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.CompileTimeValue">
            <summary>
            The compile time value of the declaration, if it is a local constant.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.ContainingLocalDeclarationsStatement">
            <summary>
            The statement that contains the local declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.ConvertedInitialValue">
            <summary>
            Returns an expression that resulting in an implicit conversion of this.InitialValue to this.Type. 
            If this.InitialValue is null, a dummy expression is returned.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.InitialValue">
            <summary>
            The value, if any, to assign to the local as its initial value. May be null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.IsConstant">
            <summary>
            True if this local declaration is readonly and initialized with a compile time constant value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.IsPinned">
            <summary>
            True if the value referenced by the local must not be moved by the actions of the garbage collector.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.IsReference">
            <summary>
            True if the local contains a managed pointer (for example a reference to an object or a reference to a field of an object).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.LocalVariable">
            <summary>
            The local variable that corresponds to this declaration. It is not valid to evaluate this property if the declaration is for a constant.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.Name">
            <summary>
            The name of the local.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.Type">
            <summary>
            The type of the local.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclaration.ContainingScope">
            <summary>
            The scope instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedPointerDeclaration.#ctor(Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates local declaration that holds a pointer to a fixed object.
            </summary>
            <param name="name">The name of the local.</param>
            <param name="initialValue">The value, if any, to assign to the local as its initial value. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedPointerDeclaration.#ctor(Microsoft.Cci.Ast.LocalDeclarationsStatement,Microsoft.Cci.Ast.FixedPointerDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingLocalDeclarationsStatement">The containing statement. This should be different from the containing statement of the template declaration.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedPointerDeclaration.ConvertInitialValue">
            <summary>
            Returns an expression that resulting in an implicit conversion of this.InitialValue to this.Type. 
            If this.InitialValue is null, a dummy expression is returned.
            Call this method via this.ConvertedValue, so that its result can get cached.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedPointerDeclaration.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IExpressionStatement) method on an assignment statement that initializes the local. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedPointerDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LocalDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.FixedPointerDeclaration.MakeCopyFor(Microsoft.Cci.Ast.LocalDeclarationsStatement)">
            <summary>
            Makes a copy of this local declaration, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LocalDeclarationsStatement">
            <summary>
            A single statement declaring one or more locals of the same type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclarationsStatement.#ctor(System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.LocalDeclaration},Microsoft.Cci.ISourceLocation)">
            <summary>
            A single statement declaring one or more locals of the same type.
            </summary>
            <param name="isConstant">True if the local declarations are readonly and initialized with compile time constant values.</param>
            <param name="isReadOnly">True if it is an error to assign to the local declarations after they have been initialized.</param>
            <param name="mayInferType">True if it is not an error if the value of type expression does not resolve, but an indication that the type of 
            declarations must be inferred from the types of their initial values.</param>
            <param name="typeExpression">All of the locals declared by this statement are of the type to which this expression resolves.</param>
            <param name="declarations">The individual local declarations making up the statement. The collection has at least one element.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclarationsStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LocalDeclarationsStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclarationsStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclarationsStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            This should never get called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclarationsStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LocalDeclarationsStatement) method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.LocalDeclarationsStatement.flags">
            <summary>
            1 == IsConstant, 2 == IsReadOnly, 4 = MayInferType
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclarationsStatement.InferType">
            <summary>
            Tries to resolve this.TypeExpression. If it does not resolve and this.MayInferType is true and the type expression is the simple name "var",
            then infers a common base type for each of the local declaration initial values. If resolution and inference fail, returns Dummy.Type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDeclarationsStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclarationsStatement.Declarations">
            <summary>
            The individual local declarations making up the statement. The collection has at least one element.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclarationsStatement.IsConstant">
            <summary>
            True if the local declarations are readonly and initialized with compile time constant values.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclarationsStatement.IsReadOnly">
            <summary>
            True if it is an error to assign to the local declarations after they have been initialized.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclarationsStatement.MayInferType">
            <summary>
            True if it is not an error if the value of type expression does not resolve, but an indication that the type of 
            declarations must be inferred from the types of their initial values.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclarationsStatement.Type">
            <summary>
            All of the locals declared by this statement are of this type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDeclarationsStatement.TypeExpression">
            <summary>
            All of the locals declared by this statement are of the type to which this expression resolves.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LocalDefinition">
            <summary>
            An object that represents a local variable or constant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LocalDefinition.#ctor(Microsoft.Cci.Ast.LocalDeclaration)">
            <summary>
            Allocates an object that represents a local variable or constant.
            </summary>
            <param name="localDeclaration">The local declaration that is projected onto this definition.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.CompileTimeValue">
            <summary>
            The compile time value of the definition, if it is a local constant.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.ContainingBlock">
            <summary>
            The block that contains (defines) this local variable or constant.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.CustomModifiers">
            <summary>
            Custom modifiers associated with local definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.IsConstant">
            <summary>
            True if this local definition is readonly and initialized with a compile time constant value.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.IsModified">
            <summary>
            The local definition has custom modifiers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.IsPinned">
            <summary>
            True if the value referenced by the local must not be moved by the actions of the garbage collector.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.IsReference">
            <summary>
            True if the local contains a managed pointer (for example a reference to an object or reference to a field of an object).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.LocalDeclaration">
            <summary>
            The local declaration that is projected onto this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.MethodDefinition">
            <summary>
            The definition of the method in which this local is defined.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.Name">
            <summary>
            The name of the local.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LocalDefinition.Type">
            <summary>
            The type of the local.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.LockStatement">
            <summary>
            Represents matched monitor enter and exit calls, together with a try-finally to ensure that the exit call always happens.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LockStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents matched monitor enter and exit calls, together with a try-finally to ensure that the exit call always happens.
            </summary>
            <param name="guard">The monitor object (which gets locked when the monitor is entered and unlocked in the finally clause).</param>
            <param name="body">The statement to execute inside the try body after the monitor has been entered.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LockStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.LockStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.LockStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LockStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ILockStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LockStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(LockStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LockStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.LockStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LockStatement.Body">
            <summary>
            The statement to execute inside the try body after the monitor has been entered.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.LockStatement.Guard">
            <summary>
            The monitor object (which gets locked when the monitor is entered and unlocked in the finally clause).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.OnErrorGotoStatement">
            <summary>
            A statement that arranges for a transfer of control that occurs only when an exception is encountered.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorGotoStatement.#ctor(Microsoft.Cci.Ast.GotoStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="goto"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorGotoStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorGotoStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorGotoStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(OnErrorGotoStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.OnErrorGotoStatement.Goto">
            <summary>
            A goto statement that is invoked if an exception occurs.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.OnErrorResumeNextStatement">
            <summary>
            If an exception occurs, make a note of it and resume execution at the statement following the statement that caused the exception.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorResumeNextStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorResumeNextStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorResumeNextStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.OnErrorResumeNextStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(OnErrorResumeNextStatement) method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RaiseEventStatement">
            <summary>
            Represents a call to a delegate bound to an event. If no delegate is present, no action is taken.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RaiseEventStatement.#ctor(Microsoft.Cci.Ast.SimpleName,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Expression},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="eventToRaise"></param>
            <param name="arguments"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RaiseEventStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RaiseEventStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RaiseEventStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RaiseEventStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RaiseEventStatement.Arguments">
            <summary>
            The arguments to pass to the event delegate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RaiseEventStatement.EventToRaise">
            <summary>
            The event to raise.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RaiseEventStatement.MethodCall">
            <summary>
            The resulting call expression. This is derived from EventToRaise and Arguments.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RedimensionClause">
            <summary>
            The location and new dimensions of an arrays to reallocate. Forms part of a VB ReDim statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RedimensionClause.#ctor(Microsoft.Cci.Ast.AddressableExpression,Microsoft.Cci.Ast.CreateArray,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="target"></param>
            <param name="value"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RedimensionClause.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RedimensionClause.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RedimensionClause) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RedimensionClause.Target">
            <summary>
            Target location where the newly allocated array will be stored (and whose existing element values may optionally be copied to the newly allocated array).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RedimensionClause.Value">
            <summary>
            An expression providing the new dimensions of the array to be reallocated.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RedimensionStatement">
            <summary>
            Allocates new arrays and optionally copy the elements from the previous values of the target expressions.
            This models a VB ReDim statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RedimensionStatement.#ctor(System.Boolean,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.RedimensionClause},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="preserveExistingElementValues"></param>
            <param name="arrays"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RedimensionStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RedimensionStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RedimensionStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RedimensionStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RedimensionStatement.Arrays">
            <summary>
            The locations and new dimensions of the arrays to reallocate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RedimensionStatement.PreserveExistingElementValues">
            <summary>
            If true, the element values must be copied from the existing arrays at the target expressions to the newly allocated arrays.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RemoveEventHandlerStatement">
            <summary>
            Represents a statement that attaches an event-handler delegate to an event.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RemoveEventHandlerStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="event"></param>
            <param name="handler"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RemoveEventHandlerStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RemoveEventHandlerStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RemoveEventHandlerStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RemoveEventHandlerStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RemoveEventHandlerStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RemoveEventHandlerStatement.Event">
            <summary>
            The event from which to remove the event-handler delegate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.RemoveEventHandlerStatement.Handler">
            <summary>
            The event-handler delegate to remove from the event
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResourceUseStatement">
            <summary>
            Represents a using statement block (of one or more IDisposable resources).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResourceUseStatement.#ctor(Microsoft.Cci.Ast.Statement,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a using statement block (of one or more IDisposable resources).
            </summary>
            <param name="resourceAcquisitions">An expression that results in a used resource, or a local declaration that is intialized with one or more used resources.</param>
            <param name="body">The body of the resource use statement.</param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResourceUseStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ResourceUseStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResourceUseStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResourceUseStatement.CreateDummyBlock">
            <summary>
            Creates a new dummy block that provides a scope for the acquired resources.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResourceUseStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IResourceUseStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResourceUseStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ResourceUseStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResourceUseStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResourceUseStatement.Body">
            <summary>
            The body of the resource use statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResourceUseStatement.DummyBlock">
            <summary>
            A dummy block that provides a scope for the acquired resources.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResourceUseStatement.ResourceAcquisitions">
            <summary>
            An expression that results in a used resource, or a local declaration that is intialized with one or more used resources.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResumeLabeledStatement">
            <summary>
            Transfers control to the statement identified by the target label.
            Also clears the location that records the most recent exception, thus reverting to "normal" program execution.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeLabeledStatement.#ctor(Microsoft.Cci.Ast.SimpleName,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="targetLabel"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeLabeledStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeLabeledStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeLabeledStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ResumeLabledStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResumeLabeledStatement.TargetLabel">
            <summary>
            The label of the statement at which to resume normal program execution.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResumeNextStatement">
            <summary>
            Transfers control to the statement following the statement that caused the last exception.
            Also clears the location that records the most recent exception, thus reverting to "normal" program execution.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeNextStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeNextStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeNextStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeNextStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ResumeNextStatement) method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResumeStatement">
            <summary>
            Transfers control to the statement that caused the last exception.
            Also clears the location that records the most recent exception, thus reverting to "normal" program execution.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResumeStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ResumeStatement) method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.RethrowStatement">
            <summary>
            Represents a statement that can only appear inside a catch clause or a filter clause and which rethrows the exception that caused the clause to be invoked.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RethrowStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a statement that can only appear inside a catch clause or a filter clause and which rethrows the exception that caused the clause to be invoked.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RethrowStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.RethrowStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.RethrowStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RethrowStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IRethrowStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RethrowStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(RethrowStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.RethrowStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ReturnStatement">
            <summary>
            Represents a return statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a return statement.
            </summary>
            <param name="expression"></param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ReturnStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IReturnStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ReturnStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ReturnStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ReturnStatement.ConvertedExpression">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ReturnStatement.Expression">
            <summary>
            The return value, if any.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.StopStatement">
            <summary>
            Causes a debugger exception to occur.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StopStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.StopStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StopStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.StopStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(StopStatement) method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SwitchCase">
            <summary>
            An object representing a switch case.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchCase.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.Statement},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an object representing a switch case.
            </summary>
            <param name="expression">An expression that is expected to have a compile time constant value of the same type as the switch expression.</param>
            <param name="body">The statements representing this switch case.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated expression.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchCase.#ctor(Microsoft.Cci.Ast.SwitchStatement,Microsoft.Cci.Ast.SwitchCase)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingSwitchStatement">The containing switch statement of the copied switch case. This should be different from the containing switch statement of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchCase.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchCase.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ISwitchCase) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchCase.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(SwitchCase) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchCase.MakeShallowCopyFor(Microsoft.Cci.Ast.SwitchStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block but leaving other properties alone until they are actually read.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchCase.SetContainingSwitchStatement(Microsoft.Cci.Ast.SwitchStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a switch case before constructing the switch statement.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchCase.Helper">
            <summary>
            An instance of a language specific class containing methods that are of general utility. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchCase.Body">
            <summary>
            The statements representing this switch case.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchCase.ConvertedExpression">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchCase.ContainingSwitchStatement">
            <summary>
            The switch statement that branches to this switch case.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchCase.Expression">
            <summary>
            An expression that is expected to have a compile time constant value of the same type as the switch expression.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchCase.IsDefault">
            <summary>
            True if this case will be branched to for all values where no other case is applicable. Only of of these is legal per switch statement.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.SwitchStatement">
            <summary>
            An object that represents a switch statement. Branches to one of a list of cases based on the value of a single expression.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.#ctor(Microsoft.Cci.Ast.Expression,System.Collections.Generic.List{Microsoft.Cci.Ast.SwitchCase},Microsoft.Cci.ISourceLocation)">
            <summary>
            Allocates an object representing a switch case.
            </summary>
            <param name="expression"></param>
            <param name="cases">The switch cases.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.SwitchStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.GetSwitchableType(Microsoft.Cci.ITypeDefinition)">
            <summary>
            Returns this.Expression.Type if it is a switchable type. Otherwise, if this.Expression.Type has
            a single implicit coercion that results in a switchable type, it returns the result type of the coercion.
            Otherwise Dummy.Type is returned.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ISwitchStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(SwitchStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.SwitchStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchStatement.Block">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchStatement.Cases">
            <summary>
            The switch cases.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchStatement.ConvertedExpression">
            <summary>
            The expression to evaluate in order to determine with switch case to branch to, after conversion to a switchable type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.SwitchStatement.Expression">
            <summary>
            The expression to evaluate in order to determine with switch case to branch to.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ThrowStatement">
            <summary>
            Represents a statement that throws an exception.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrowStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a statement that throws an exception.
            </summary>
            <param name="exception">The exception to throw.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrowStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.ThrowStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrowStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrowStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IThrowStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrowStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(ThrowStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrowStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ThrowStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ThrowStatement.Exception">
            <summary>
            The exception to throw.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TryCatchFinallyStatement">
            <summary>
            Represents a try block with any number of catch clauses, any number of filter clauses and, optionally, a finally block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TryCatchFinallyStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,System.Collections.Generic.List{Microsoft.Cci.Ast.CatchClause},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a try block with any number of catch clauses, any number of filter clauses and, optionally, a finally block.
            </summary>
            <param name="tryBody">The body of the try clause.</param>
            <param name="catchClauses">The catch clauses.</param>
            <param name="finallyBody">The body of the finally clause, if any. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TryCatchFinallyStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,System.Collections.Generic.List{Microsoft.Cci.Ast.CatchClause},Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.ISourceLocation)">
            <summary>
            Represents a try block with any number of catch clauses, any number of filter clauses and, optionally, a finally block and or a fault block.
            </summary>
            <param name="tryBody">The body of the try clause.</param>
            <param name="catchClauses">The catch clauses.</param>
            <param name="finallyBody">The body of the finally clause, if any. May be null.</param>
            <param name="faultBody">The body of the fault clause, if any. May be null.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TryCatchFinallyStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TryCatchFinallyStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TryCatchFinallyStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TryCatchFinallyStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(ITryCatchFinallyStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TryCatchFinallyStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(TryCatchFinallyStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TryCatchFinallyStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TryCatchFinallyStatement.CatchClauses">
            <summary>
            The catch clauses.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TryCatchFinallyStatement.FinallyBody">
            <summary>
            The body of the finally clause, if any. May be null.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TryCatchFinallyStatement.FaultBody">
            <summary>
            The body of the fault clause, if any. May be null.
            There is no C# equivalent of a fault clause. It is just like a finally clause, but is only invoked if an exception occurred.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TryCatchFinallyStatement.TryBody">
            <summary>
            The body of the try clause.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.UntilDoStatement">
            <summary>
            until condition do statements. Tests the condition before the body. Exits when the condition is false.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UntilDoStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="condition"></param>
            <param name="body"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.UntilDoStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UntilDoStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UntilDoStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(UntilDoStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.UntilDoStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UntilDoStatement.Body">
            <summary>
            The body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UntilDoStatement.Condition">
            <summary>
            The condition to evaluate as false or true;
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.UntilDoStatement.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.WhileDoStatement">
            <summary>
            While condition do statements. Tests the condition before the body. Exits when the condition is true.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WhileDoStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            While condition do statements. Tests the condition before the body. Exits when the condition is true.
            </summary>
            <param name="condition">The condition to evaluate as false or true.</param>
            <param name="body">The body of the loop.</param>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.WhileDoStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.WhileDoStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.WhileDoStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WhileDoStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IWhileDoStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WhileDoStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(WhileDoStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WhileDoStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WhileDoStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.WhileDoStatement.Body">
            <summary>
            The body of the loop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.WhileDoStatement.Condition">
            <summary>
            The condition to evaluate as false or true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.WhileDoStatement.ConvertedCondition">
            <summary>
            IsTrue(this.Condition)
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.WithStatement">
            <summary>
            Models the VB with statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WithStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.Ast.Statement,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="implicitQualifier"></param>
            <param name="body"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.WithStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WithStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(xxxxx) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.WithStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(WithStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.WithStatement.Body">
            <summary>
            The body of the with.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.WithStatement.ImplicitQualifier">
            <summary>
            The expression that supplies the implicit qualifier.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.YieldBreakStatement">
            <summary>
            Terminates the iteration of values produced by the iterator method containing this statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldBreakStatement.#ctor(Microsoft.Cci.ISourceLocation)">
            <summary>
            Terminates the iteration of values produced by the iterator method containing this statement.
            </summary>
            <param name="sourceLocation">The source location corresponding to the newly allocated statement.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldBreakStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.YieldBreakStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldBreakStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldBreakStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IYieldBreakStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldBreakStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(YieldBreakStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldBreakStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.YieldReturnStatement">
            <summary>
            Yields the next value in the stream produced by the iterator method containing this statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.#ctor(Microsoft.Cci.Ast.Expression,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="expression"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.YieldReturnStatement)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">The containing block of the copied statement. This should be different from the containing block of the template statement.</param>
            <param name="template">The statement to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the statement or a constituent part of the statement.
            Do not call this method directly, but call the HasErrors method. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IYieldReturnStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(YieldReturnStatement) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.GetIteratorElementType">
            <summary>
            If the return type of the declaring method is IEnumerable or IEnumerator, return System.Object.
            If the return type is IEnumerable&lt;T&gt; or IEnumerator&lt;T&gt;, return T.
            Otherwise return Dummy.Type. (Note that there may not be a declaring method.)
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.MakeCopyFor(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Makes a copy of this statement, changing the ContainingBlock to the given block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.YieldReturnStatement.SetContainingBlock(Microsoft.Cci.Ast.BlockStatement)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a Statement before constructing the containing Block.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.YieldReturnStatement.ConvertedExpression">
            <summary>
            Returns this.Expression after implicit conversion to this.GetIteratorElementType().
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.YieldReturnStatement.Expression">
            <summary>
            The value to yield.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IClassDeclaration">
            <summary>
            Corresponds to a source construct that declares a class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IClassDeclaration.IsStatic">
            <summary>
            A static class can not have instance members. A static class is sealed.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IDelegateDeclaration">
            <summary>
            Corresponds to a source construct that declares a delegate.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IDelegateDeclaration.Signature">
            <summary>
            The signature of the Invoke method.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IEnumDeclaration">
            <summary>
            Corresponds to a source construct that declares an enumerated scalar type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.IEnumDeclaration.UnderlyingType">
            <summary>
            The primitive integral type that will be used to represent the values of enumeration. May be null.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IInterfaceDeclaration">
            <summary>
            Corresponds to a source construct that declares an interface.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.IStructDeclaration">
            <summary>
            Corresponds to a source construct that declares a value type (struct).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GlobalDeclarationContainerClass">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceClassDeclaration">
            <summary>
            Corresponds to a source construct that declares a class nested directly inside a namespace.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceTypeDeclaration">
            <summary>
            Corresponds to a source language type declaration (at the top level or nested in a namespace), such as a C# partial class. 
            One of more of these make up a type definition. 
            Each contains a collection of <see cref="T:Microsoft.Cci.Ast.NamespaceTypeDeclaration"/> instances in its <see cref="P:Microsoft.Cci.Ast.TypeDeclaration.TypeDeclarationMembers"/> property.
            The union of the collections make up the Members property of the type definition.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeDeclaration">
            <summary>
            Corresponds to a source language type declaration, such as a C# partial class. One of more of these make up a type definition. 
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.flags">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.#ctor(Microsoft.Cci.Ast.CompilationPart,Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            
            </summary>
            <param name="compilationPart"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
            </summary>
            <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
            <param name="template">The template to copy.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.#ctor(Microsoft.Cci.Ast.BlockStatement,Microsoft.Cci.Ast.TypeDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingBlock"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.GetFieldOffset(System.Object)">
            <summary>
            Compute the offset of its field. For example, a struct in C and a union will have
            different say about its field's offset. 
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.AddHelperMember(Microsoft.Cci.Ast.ITypeDeclarationMember)">
            <summary>
            
            </summary>
            <param name="typeDeclarationMember"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.CanAccess(Microsoft.Cci.ITypeDefinitionMember)">
            <summary>
            True if the given type member may be accessed by this type declaration. For example, if the member is private and this
            is that same as the containing type of the member, or is a nested type of the containing type of the member, the result is true.
            </summary>
            <param name="member">The type member to check.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.CanAccess(Microsoft.Cci.ITypeDefinition)">
            <summary>
            True if the given type may be accessed from the scope defined by this block. For example, if the type is private nested type and this
            block is defined inside a method of the containing type of the member, the result is true.
            </summary>
            <param name="typeDefinition">The type to check.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.CanAccess(Microsoft.Cci.INamespaceDefinition)">
            <summary>
            True if the given namespace, or one of its descendant namespaces, contains a type that can be accessed from the scope defined by this block.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.caseInsensitiveCache">
            <summary>
            A map from names to resolved metadata items. Use this table for case insensitive lookup.
            Do not use this dictionary unless you are implementing SimpleName.ResolveUsing(TypeDeclaration typeDeclaration). 
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.caseSensitiveCache">
            <summary>
            A map from names to resolved metadata items. Use this table for case sensitive lookup.
            Do not use this dictionary unless you are implementing SimpleName.ResolveUsing(TypeDeclaration typeDeclaration). 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.GetDefaultVisibility">
            <summary>
            The visibility of type members that do not explicitly specify their visibility
            (their ITypeMember.Visibility values is TypeMemberVisibility.Default).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.SetCompilationPart(Microsoft.Cci.Ast.CompilationPart,System.Boolean)">
            <summary>
            
            </summary>
            <param name="compilationPart"></param>
            <param name="recurse"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.SetMemberContainingTypeDeclaration(Microsoft.Cci.Ast.ITypeDeclarationMember)">
            <summary>
            
            </summary>
            <param name="member"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.GetTypeDeclarationMembersNamed(System.Int32)">
            <summary>
            
            </summary>
            <param name="uniqueKey"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.TypeDeclaration.UpdateMembers(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceDocumentEdit)">
            <summary>
            Returns a shallow copy of this type declaration that has the specified list of members as the value of its Members property.
            </summary>
            <param name="members">The members of the new type declaration.</param>
            <param name="edit">The edit that resulted in this update.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.Alignment">
            <summary>
            The byte alignment that values of the given type ought to have. Must be a power of 2. If zero, the alignment is decided at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.BaseTypes">
            <summary>
            A collection of expressions that refer to the base types (classes and interfaces) of this type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.Compilation">
            <summary>
            The compilation to which this type declaration belongs.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.CompilationPart">
            <summary>
            The compilation part to which this type declaration belongs.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.DummyBlock">
            <summary>
            A block that is the containing block for any expressions contained inside the type declaration
            but not inside of a method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.GenericParameters">
            <summary>
            The type parameters, if any, of this type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.GenericParameterCount">
            <summary>
            The number of generic parameters. Zero if the type is not generic.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.HasErrors">
            <summary>
            Checks the class for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.Helper">
            <summary>
            An instance of a language specific class containing methods that are of general utility. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.IsAbstract">
            <summary>
            If true, instances of this type will all be instances of some subtype of this type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.IsPartial">
            <summary>
            If true, this type declaration may be aggregated with other type declarations into a single type definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.IsSealed">
            <summary>
            If true, this type has no subtypes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.IsStatic">
            <summary>
            A static class can not have instance members. A static class is sealed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.IsUnsafe">
            <summary>
            If true, this type can contain "unsafe" constructs such as pointers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.Layout">
            <summary>
            Layout of the type declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.Name">
            <summary>
            The name of the type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.OuterDummyBlock">
            <summary>
            A block that serves as the container for expressions that are not contained inside this type declaration, but that are part of the
            signature of this type declaration (for example a base class reference). The block scope includes the type parameters of this type
            declaration.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.PrivateHelperMembers">
            <summary>
            A possibly empty collection of type members that are added by the compiler to help with the implementation of language features.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.SecurityAttributes">
            <summary>
            A collection of metadata declarative security attributes that are associated with this type.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.SizeOf">
            <summary>
            Size of an object of this type. In bytes. If zero, the size is unspecified and will be determined at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.SourceAttributes">
            <summary>
            Custom attributes that are explicitly specified in source. Some of these may not end up in persisted metadata.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.TypeDeclarationMembers">
            <summary>
            The collection of things that are considered members of this type. For example: events, fields, method, properties and nested types.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.TypeDeclaration.TypeDefinition">
            <summary>
            The symbol table type definition that corresponds to this type declaration. If this type declaration is a partial type, the symbol table type
            will be an aggregate of multiple type declarations.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.TypeDeclaration.Flags">
            <summary>
            A collection of flags that correspond to modifiers such as public and abstract.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.Flags.None">
            <summary>
            No source code construct was found that specifies one of the other flag values. Use defaults.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.Flags.Abstract">
            <summary>
            The declared type is abstract.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.Flags.New">
            <summary>
            The declared type is a nested type that hides a nested type declared a base class.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.Flags.Partial">
            <summary>
            The declared type may be specified by more than one syntatic construct.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.Flags.Sealed">
            <summary>
            The declared type may not be used as a base class.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.Flags.Static">
            <summary>
            The declared type has a private constructor and no instance state or instance methods.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.Ast.TypeDeclaration.Flags.Unsafe">
            <summary>
            The declared type may contain constructs that are not verifiably type safe.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceTypeDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceTypeDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="F:Microsoft.Cci.Ast.NamespaceTypeDeclaration.containingNamespaceDeclaration">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.CreateType">
            <summary>
            Creates a new type definition to correspond to this type declaration.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this namespace type with the given list of members replacing the template members. 
            The containing namespace declaration should be set by means of a later call to SetContainingNamespaceDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace type before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDeclaration.UpdateMembers(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceDocumentEdit)">
            <summary>
            Returns a shallow copy of this type declaration that has the specified list of members as the value of its Members property.
            </summary>
            <param name="members">The members of the new type declaration.</param>
            <param name="edit">The edit that resulted in this update.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDeclaration.ContainingNamespaceDeclaration">
            <summary>
            The namespace that contains this member.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDeclaration.DummyBlock">
            <summary>
            A block that is the containing block for any expressions contained inside the type declaration
            but not inside of a method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDeclaration.IsPublic">
            <summary>
            If true, this type is accessible outside of the unit that contains it.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDeclaration.NamespaceTypeDefinition">
            <summary>
            The symbol table entity that corresponds to this source construct.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDeclaration.OuterDummyBlock">
            <summary>
            A block that serves as the container for expressions that are not contained inside this type declaration, but that are part of the
            signature of this type declaration (for example a base class reference). The block scope includes the type parameters of this type
            declaration.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDeclaration.TypeDefinition">
            <summary>
            The symbol table type definition that corresponds to this type declaration. If this type declaration is a partial type, the symbol table type
            will be an aggregate of multiple type declarations.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceClassDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceClassDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceClassDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceClassDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceClassDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceClassDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceClassDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceClassDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceClassDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this namespace type with the given list of members replacing the template members.
            The containing namespace declaration should be set by means of a later call to SetContainingNamespaceDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceClassDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.#ctor(Microsoft.Cci.IMetadataHost)">
            <summary>
            
            </summary>
            <param name="compilationHost"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.#ctor(Microsoft.Cci.IMetadataHost,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="compilationHost"></param>
            <param name="globalMembers"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.GlobalDeclarationContainerClass)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.GlobalDeclarationContainerClass,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.CreateType">
            <summary>
            Creates a new type definition to correspond to this type declaration.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this namespace type with the given list of members replacing the template members.
            The containing namespace declaration should be set by means of a later call to SetContainingNamespaceDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.GlobalMembers">
            <summary>
            A list of type declaration members that correspond to global variables and functions.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalDeclarationContainerClass.GlobalScope">
            <summary>
            A scope containing global variables and functions.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GlobalDeclarationScope">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationScope.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalDeclarationScope.InitializeIfNecessary">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalDeclarationScope.Members">
            <summary>
            The collection of member instances that are members of this scope.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericTypeParameterDeclaration">
            <summary>
            Corresponds to a source construct that declares a type parameter for a generic type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameterDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.NameDeclaration,System.UInt16,System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},Microsoft.Cci.TypeParameterVariance,System.Boolean,System.Boolean,System.Boolean,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="name"></param>
            <param name="index"></param>
            <param name="constraints"></param>
            <param name="variance"></param>
            <param name="mustBeReferenceType"></param>
            <param name="mustBeValueType"></param>
            <param name="mustHaveDefaultConstructor"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameterDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.GenericTypeParameterDeclaration)">
            <summary>
            
            </summary>
            <param name="declaringType"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameterDeclaration.MakeCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Makes a copy of this generic type parameter declaration, changing the target type to the given type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameterDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(GenericTypeParameterDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameterDeclaration.SetDeclaringType(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            
            </summary>
            <param name="declaringType"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeParameterDeclaration.DeclaringType">
            <summary>
            The generic type that declares this type parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeParameterDeclaration.GenericTypeParameterDefinition">
            <summary>
            The symbol table entity that corresponds to this source construct.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceDelegateDeclaration">
            <summary>
            Corresponds to a source construct that declares a delegate nested directly inside a namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},Microsoft.Cci.Ast.SignatureDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="signature"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceDelegateDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceDelegateDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.CreateType">
            <summary>
            Creates a new type definition to correspond to this type declaration.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceDelegateDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this namespace type with the given list of members replacing the template members.
            The containing namespace declaration should be set by means of a later call to SetContainingNamespaceDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace type before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceDelegateDeclaration.Signature">
            <summary>
            The signature of the Invoke method.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceEnumDeclaration">
            <summary>
            Corresponds to a source construct that declares an enumerated scalar type nested directly inside a namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="underlyingType"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceEnumDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceEnumDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceEnumDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this namespace type with the given list of members replacing the template members.
            The containing namespace declaration should be set by means of a later call to SetContainingNamespaceDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceEnumDeclaration.SetContainingNamespaceDeclaration(Microsoft.Cci.Ast.NamespaceDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a namespace type before constructing the namespace.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="recurse"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceEnumDeclaration.UnderlyingType">
            <summary>
            The primitive integral type that will be used to represent the values of enumeration. May be null.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration">
            <summary>
            Corresponds to a source construct that declares an interface nested directly inside a namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceInterfaceDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceInterfaceDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceInterfaceDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this namespace type with the given list of members replacing the template members.
            The containing namespace declaration should be set by means of a later call to SetContainingNamespaceDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceInterfaceDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceStructDeclaration">
            <summary>
            Corresponds to a source construct that declares a value type (struct) nested directly inside a namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceStructDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceStructDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceStructDeclaration)">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceStructDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceDeclaration,Microsoft.Cci.Ast.NamespaceStructDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingNamespaceDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceStructDeclaration.CheckForErrorsAndReturnTrueIfAnyAreFound">
            <summary>
            Performs any error checks still needed and returns true if any errors were found in the member or a constituent part of the member.
            Do not call this method directly, but evaluate the HasErrors property. The latter will cache the return value.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceStructDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NamespaceStructDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceStructDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this namespace type with the given list of members replacing the template members.
            The containing namespace declaration should be set by means of a later call to SetContainingNamespaceDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceStructDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.NamespaceDeclaration)">
            <summary>
            Returns a shallow copy of this instance with the given namespace as the new containing namespace.
            </summary>
            <param name="targetNamespaceDeclaration">The containing namespace of the result.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceStructDeclaration.Layout">
            <summary>
            Layout of the type declaration.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedClassDeclaration">
            <summary>
            Corresponds to a source construct that declares a class nested inside another type.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedTypeDeclaration">
            <summary>
            Corresponds to a source language type declaration nested inside another type declaration, such as a C# partial class. 
            One of more of these make up a type definition. 
            Each contains a collection of <see cref="T:Microsoft.Cci.Ast.NestedTypeDeclaration"/> instances in its <see cref="P:Microsoft.Cci.Ast.TypeDeclaration.TypeDeclarationMembers"/> property.
            The union of the collections make up the Members property of the type definition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceTypeDeclaration)">
            <summary>
            
            </summary>
            <param name="sourceTypeDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedTypeDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedTypeDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.CanAccess(Microsoft.Cci.ITypeDefinitionMember)">
            <summary>
            True if the given type member may be accessed from the scope defined by this block. For example, if the member is private and this
            block is defined inside a method of the containing type of the member, the result is true.
            </summary>
            <param name="member">The type member to check.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.CanAccess(Microsoft.Cci.ITypeDefinition)">
            <summary>
            True if the given type may be accessed from the scope defined by this block. For example, if the type is private nested type and this
            block is defined inside a method of the containing type of the member, the result is true.
            </summary>
            <param name="typeDefinition">The type to check.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.CreateNestedType">
            <summary>
            Creates a type definition to correspond to this type declaration.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this nested type with the given list of members replacing the template members. 
            The containing type declaration should be set by means of a later call to SetContainingTypeDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Returns a shallow copy of this nested type declaration with the given type declaration as the containing
            type declaration of the copy.
            </summary>
            <param name="targetTypeDeclaration">The type declaration that will contain the result.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="containingTypeDeclaration">The type declaration that contains this nested type declaration.</param>
            <param name="recurse">True if the construction of the children of this node need to be completed as well.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDeclaration.UpdateMembers(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceDocumentEdit)">
            <summary>
            Returns a shallow copy of this type declaration that has the specified list of members as the value of its Members property.
            </summary>
            <param name="members">The members of the new type declaration.</param>
            <param name="edit">The edit that resulted in this update.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDeclaration.ContainingTypeDeclaration">
            <summary>
            The type declaration that contains this member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDeclaration.DummyBlock">
            <summary>
            A block that is the containing block for any expressions contained inside the type declaration
            but not inside of a method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDeclaration.IsNew">
            <summary>
            Indicates that this member is intended to hide the name of an inherited member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDeclaration.NestedTypeDefinition">
            <summary>
            The symbol table entity that corresponds to this source construct.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDeclaration.OuterDummyBlock">
            <summary>
            A block that serves as the container for expressions that are not contained inside this type declaration, but that are part of the
            signature of this type declaration (for example a base class reference). The block scope includes the type parameters of this type
            declaration.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDeclaration.TypeDefinition">
            <summary>
            The symbol table type definition that corresponds to this type declaration. If this type declaration is a partial type, the symbol table type
            will be an aggregate of multiple type declarations.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDeclaration.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedClassDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedClassDeclaration.#ctor(Microsoft.Cci.Ast.NamespaceClassDeclaration)">
            <summary>
            Create a nested class declaration from a non nested one 
            </summary>
            <param name="sourceClassDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedClassDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedClassDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedClassDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedClassDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedClassDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NestedClassDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedClassDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this nested type with the given list of members replacing the template members.
            The containing type declaration should be set by means of a later call to SetContainingTypeDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedClassDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Returns a shallow copy of this nested type declaration with the given type declaration as the containing
            type declaration of the copy.
            </summary>
            <param name="targetTypeDeclaration">The type declaration that will contain the result.</param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedDelegateDeclaration">
            <summary>
            Corresponds to a source construct that declares a delegate nested inside another type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedDelegateDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},Microsoft.Cci.Ast.SignatureDeclaration,Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="signature"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedDelegateDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedDelegateDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedDelegateDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NestedDelegateDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedDelegateDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this nested type with the given list of members replacing the template members.
            The containing type declaration should be set by means of a later call to SetContainingTypeDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedDelegateDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Returns a shallow copy of this nested type declaration with the given type declaration as the containing
            type declaration of the copy.
            </summary>
            <param name="targetTypeDeclaration">The type declaration that will contain the result.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedDelegateDeclaration.SetContainingTypeDeclaration(Microsoft.Cci.Ast.TypeDeclaration,System.Boolean)">
            <summary>
            Completes the two stage construction of this object. This allows bottom up parsers to construct a type member before constructing the containing type declaration.
            This method should be called once only and must be called before this object is made available to client code. The construction code itself should also take
            care not to call any other methods or property/event accessors on the object until after this method has been called.
            </summary>
            <param name="containingTypeDeclaration">The type declaration that contains this nested type declaration.</param>
            <param name="recurse">True if the construction of the children of this node need to be completed as well.</param>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedDelegateDeclaration.Signature">
            <summary>
            The signature of the Invoke method.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedEnumDeclaration">
            <summary>
            Corresponds to a source construct that declares an enumerated scalar type nested inside another type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedEnumDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,Microsoft.Cci.Ast.TypeExpression,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="underlyingType"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedEnumDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedEnumDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedEnumDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedEnumDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedEnumDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NestedEnumDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedEnumDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this nested type with the given list of members replacing the template members.
            The containing type declaration should be set by means of a later call to SetContainingTypeDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedEnumDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Returns a shallow copy of this nested type declaration with the given type declaration as the containing
            type declaration of the copy.
            </summary>
            <param name="targetTypeDeclaration">The type declaration that will contain the result.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedEnumDeclaration.SetCompilationPart(Microsoft.Cci.Ast.CompilationPart,System.Boolean)">
            <summary>
            
            </summary>
            <param name="compilationPart"></param>
            <param name="recurse"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedEnumDeclaration.UnderlyingType">
            <summary>
            The primitive integral type that will be used to represent the values of enumeration. May be null.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedInterfaceDeclaration">
            <summary>
            Corresponds to a source construct that declares an interface nested inside another type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedInterfaceDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedInterfaceDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedInterfaceDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedInterfaceDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedInterfaceDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedInterfaceDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NestedInterfaceDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedInterfaceDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this nested type with the given list of members replacing the template members.
            The containing type declaration should be set by means of a later call to SetContainingTypeDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedInterfaceDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Returns a shallow copy of this nested type declaration with the given type declaration as the containing
            type declaration of the copy.
            </summary>
            <param name="targetTypeDeclaration">The type declaration that will contain the result.</param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedStructDeclaration">
            <summary>
            Corresponds to a source construct that declares a value type (struct) nested inside another type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedStructDeclaration.#ctor(System.Collections.Generic.List{Microsoft.Cci.Ast.SourceCustomAttribute},Microsoft.Cci.Ast.TypeDeclaration.Flags,Microsoft.Cci.Ast.NameDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.GenericTypeParameterDeclaration},System.Collections.Generic.List{Microsoft.Cci.Ast.TypeExpression},System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember},Microsoft.Cci.ISourceLocation)">
            <summary>
            
            </summary>
            <param name="sourceAttributes"></param>
            <param name="flags"></param>
            <param name="name"></param>
            <param name="genericParameters"></param>
            <param name="baseTypes"></param>
            <param name="members"></param>
            <param name="sourceLocation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedStructDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedStructDeclaration)">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedStructDeclaration.#ctor(Microsoft.Cci.Ast.TypeDeclaration,Microsoft.Cci.Ast.NestedStructDeclaration,System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            
            </summary>
            <param name="containingTypeDeclaration"></param>
            <param name="template"></param>
            <param name="members"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedStructDeclaration.Dispatch(Microsoft.Cci.Ast.SourceVisitor)">
            <summary>
            Calls the visitor.Visit(NestedStructDeclaration) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedStructDeclaration.MakeShallowCopy(System.Collections.Generic.List{Microsoft.Cci.Ast.ITypeDeclarationMember})">
            <summary>
            Returns a shallow copy of this nested type with the given list of members replacing the template members.
            The containing type declaration should be set by means of a later call to SetContainingTypeDeclaration.
            </summary>
            <param name="members">The member list of the new type declaration.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedStructDeclaration.MakeShallowCopyFor(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            Returns a shallow copy of this nested type declaration with the given type declaration as the containing
            type declaration of the copy.
            </summary>
            <param name="targetTypeDeclaration">The type declaration that will contain the result.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedStructDeclaration.Layout">
            <summary>
            Layout of the type declaration.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.GenericTypeParameter">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameter.#ctor(Microsoft.Cci.Ast.NamedTypeDefinition,Microsoft.Cci.IName,System.UInt16,Microsoft.Cci.TypeParameterVariance,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            
            </summary>
            <param name="definingType"></param>
            <param name="name"></param>
            <param name="index"></param>
            <param name="variance"></param>
            <param name="mustBeReferenceType"></param>
            <param name="mustBeValueType"></param>
            <param name="mustHaveDefaultConstructor"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameter.AddDeclaration(Microsoft.Cci.Ast.GenericTypeParameterDeclaration)">
            <summary>
            
            </summary>
            <param name="genericTypeParameterDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameter.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IGenericTypeParameter) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameter.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IGenericTypeParameterReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.GenericTypeParameter.GetDeclarations">
            <summary>
            Returns the list of generic parameter declarations that collectively define this generic parameter definition.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeParameter.DefiningType">
            <summary>
            The generic type that defines this type parameter.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeParameter.ParameterDeclarations">
            <summary>
            Gets the parameter declarations.
            </summary>
            <value>The parameter declarations.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeParameter.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GenericTypeParameter.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.GlobalsClass">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.NamespaceTypeDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDefinition.#ctor(Microsoft.Cci.IUnitNamespace,Microsoft.Cci.IName,Microsoft.Cci.IInternFactory)">
            <summary>
            
            </summary>
            <param name="containingUnitNamespace"></param>
            <param name="name"></param>
            <param name="internFactory"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDefinition.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDefinition.UpdateFlags(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            
            </summary>
            <param name="typeDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(INamespaceTypeDefinition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NamespaceTypeDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(INamespaceTypeReference) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDefinition.ContainingUnitNamespace">
            <summary>
            The namespace that contains this member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDefinition.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDefinition.IsPublic">
            <summary>
            True if the type can be accessed from other assemblies.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDefinition.ContainingNamespace">
            <summary>
            The namespace that contains this member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDefinition.Container">
            <summary>
            The container instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDefinition.ContainingScope">
            <summary>
            The scope instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NamespaceTypeDefinition.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalsClass.#ctor(Microsoft.Cci.Ast.Compilation)">
            <summary>
            
            </summary>
            <param name="compilation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.GlobalsClass.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalsClass.IsPublic">
            <summary>
            Gets a value indicating whether this instance is public.
            </summary>
            <value><c>true</c> if this instance is public; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalsClass.Members">
            <summary>
            The collection of member instances that are members of this scope.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.GlobalsClass.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.MethodImplementation">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodImplementation.#ctor(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.IMethodReference,Microsoft.Cci.IMethodReference)">
            <summary>
            
            </summary>
            <param name="containingType"></param>
            <param name="implementedMethod"></param>
            <param name="implementingMethod"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.MethodImplementation.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodImplementation.ContainingType">
            <summary>
            The type that is explicitly implementing or overriding the base class virtual method or explicitly implementing an interface method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodImplementation.ImplementedMethod">
            <summary>
            A reference to the method whose implementation is being provided or overridden.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.MethodImplementation.ImplementingMethod">
            <summary>
            A reference to the method that provides the implementation.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.ModuleClass">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ModuleClass.#ctor(Microsoft.Cci.Ast.Compilation)">
            <summary>
            
            </summary>
            <param name="compilation"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ModuleClass.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.Ast.ModuleClass.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.ModuleClass.IsPublic">
            <summary>
            True if the type can be accessed from other assemblies.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.NestedTypeDefinition">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDefinition.#ctor(Microsoft.Cci.ITypeDefinition,Microsoft.Cci.IName,Microsoft.Cci.IInternFactory)">
            <summary>
            
            </summary>
            <param name="containingTypeDefinition"></param>
            <param name="name"></param>
            <param name="internFactory"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDefinition.UpdateFlags(Microsoft.Cci.Ast.TypeDeclaration)">
            <summary>
            
            </summary>
            <param name="typeDeclaration"></param>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDefinition.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(INestedTypeDefinition) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.NestedTypeDefinition.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(INestedTypeReference) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDefinition.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDefinition.Visibility">
            <summary>
            Indicates if the member is public or confined to its containing type, derived types and/or declaring assembly.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDefinition.ContainingTypeDefinition">
            <summary>
            The type definition that contains this member.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDefinition.Container">
            <summary>
            The container instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDefinition.ContainingScope">
            <summary>
            The scope instance with a Members collection that includes this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDefinition.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.NestedTypeDefinition.ResolvedTypeDefinitionMember">
            <summary>
            The type definition member this reference resolves to.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Ast.Assembly">
            <summary>
            Represents a .NET assembly.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Module">
            <summary>
            An object that represents a .NET module.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.Unit">
            <summary>
            A unit of metadata stored as a single artifact and potentially produced and revised independently from other units.
            Examples of units include .NET assemblies and modules, as well C++ object files and compiled headers.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Unit.#ctor(Microsoft.Cci.IName,System.String)">
            <summary>
            Initializes a unit of metadata stored as a single artifact and potentially produced and revised independently from other units.
            Examples of units include .NET assemblies and modules, as well C++ object files and compiled headers.
            </summary>
            <param name="name">The name of the unit.</param>
            <param name="location">An indication of the location where the unit is or will be stored. This need not be a file system path and may be empty. 
            The interpretation depends on the ICompilationHostEnviroment instance used to resolve references to this unit.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Unit.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IUnit).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Unit.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IUnitReference).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Unit.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.ContractAssemblySymbolicIdentity">
            <summary>
            The identity of the assembly corresponding to the target platform contract assembly at the time this unit was compiled.
            This property will be used to implement IMetadataHost.ContractAssemblySymbolicIdentity and its implementation must
            consequently not use the latter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.CoreAssemblySymbolicIdentity">
            <summary>
            An assembly reference corresponding to the target platform core assembly at the time this unit was compiled.
            This property will be used to implement IMetadataHost.CoreAssemblySymbolicIdentity and its implementation must
            consequently not use the latter.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.Compilation">
            <summary>
            The compilation that produces this unit of metadata.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.Location">
            <summary>
            An indication of the location where the unit is or will be stored. This need not be a file system path and may be empty. 
            The interpretation depends on the ICompilationHostEnviroment instance used to resolve references to unit.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.Name">
            <summary>
            The name of the entity.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.NameTable">
            <summary>
            A table used to intern strings used as names. This table is obtained from the host environment.
            It is mutuable, in as much as it is possible to add new names to the table.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.PlatformType">
            <summary>
            A collection of well known types that must be part of every target platform and that are fundamental to modeling compiled code.
            The types are obtained by querying the unit set of the compilation and thus can include types that are defined by the compilation itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.UnitNamespaceRoot">
            <summary>
            A root namespace that contains nested namespaces as well as top level types and anything else that implements INamespaceMember.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.UnitReferences">
            <summary>
            A list of other units that are referenced by this unit. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.UnitIdentity">
            <summary>
            Returns the identity of the unit reference.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.UninterpretedSections">
            <summary>
            A sequence of PE sections that are not well known to PE readers and thus have not been decompiled into 
            other parts of the Metadata Model. These sections may have meaning to other tools. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.ResolvedUnit">
            <summary>
            The referenced unit, or Dummy.Unit if the reference cannot be resolved.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Unit.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.Ast.Module.#ctor(Microsoft.Cci.IName,System.String,Microsoft.Cci.IAssembly,System.Collections.Generic.IEnumerable{Microsoft.Cci.IAssemblyReference},System.Collections.Generic.IEnumerable{Microsoft.Cci.IModuleReference})">
            <summary>
            Allocates an object that represents a .NET module.
            </summary>
            <param name="name">The name of the unit.</param>
            <param name="location">An indication of the location where the unit is or will be stored. This need not be a file system path and may be empty. 
            The interpretation depends on the ICompilationHostEnviroment instance used to resolve references to this unit.</param>
            <param name="containingAssembly">The assembly that contains this module.</param>
            <param name="assemblyReferences">A list of the assemblies that are referenced by this module.</param>
            <param name="moduleReferences">A list of the modules that are referenced by this module.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Module.CreateRootNamespace">
            <summary>
            Returns a root namepace object that is language specific.
            </summary>
            <remarks>Most languages will probably just use the base method, but some languages may want to
            allocate a root namespace that has added behavior that, for example, helps with language specific name lookup rules.</remarks>
        </member>
        <member name="M:Microsoft.Cci.Ast.Module.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IModule).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Module.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IModuleReference).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Module.GetAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Module.GetStrings">
            <summary>
            Returns zero or more strings used in the module. If the module is produced by reading in a CLR PE file, then this will be the contents
            of the user string heap. If the module is produced some other way, the method may return an empty enumeration or an enumeration that is a
            subset of the strings actually used in the module. The main purpose of this method is to provide a way to control the order of strings in a
            prefix of the user string heap when writing out a module as a PE file.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Module.GetAllTypes">
            <summary>
            Returns all of the types in the current module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.AssemblyReferences">
            <summary>
            A list of the assemblies that are referenced by this module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.BaseAddress">
            <summary>
            The preferred memory address at which the module is to be loaded at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.ContainingAssembly">
            <summary>
            The assembly that contains this module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.DebugInformationLocation">
            <summary>
            A path to the debug information corresponding to this module. Can be absolute or relative to the file path of the module. Empty if not specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.DebugInformationVersion">
            <summary>
            A hexadecimal string that is used to store and retrieve the debugging symbols from a symbol store.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.DllCharacteristics">
            <summary>
            Flags that control the behavior of the target operating system. CLI implementations are supposed to ignore this, but some operating system pay attention.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.EntryPoint">
            <summary>
            The method that will be called to start execution of this executable module. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.FileAlignment">
            <summary>
            The alignment of sections in the module's image file.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.ILOnly">
            <summary>
            True if the module contains only IL and is processor independent.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.Kind">
            <summary>
            The kind of metadata stored in the module. For example whether the module is an executable or a manifest resource file.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.LinkerMajorVersion">
            <summary>
            The first part of a two part version number indicating the version of the linker that produced this module. For example, the 8 in 8.0.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.LinkerMinorVersion">
            <summary>
            The first part of a two part version number indicating the version of the linker that produced this module. For example, the 0 in 8.0.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.Machine">
            <summary>
            Specifies the target CPU. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.MetadataFormatMajorVersion">
            <summary>
            The first part of a two part version number indicating the version of the format used to persist this module. For example, the 1 in 1.0.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.MetadataFormatMinorVersion">
            <summary>
            The second part of a two part version number indicating the version of the format used to persist this module. For example, the 0 in 1.0.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.ModuleAttributes">
            <summary>
            A list of objects representing persisted instances of types that extend System.Attribute. Provides an extensible way to associate metadata
            with this module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.ModuleIdentity">
            <summary>
            The identity of the module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.ModuleName">
            <summary>
            The name of the module. This can be different from the name if this module is also an assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.ModuleReferences">
            <summary>
            A list of the modules that are referenced by this module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.NativeEntryPoint">
            <summary>
            True if the module has a native entry point.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.PersistentIdentifier">
            <summary>
            A globally unique persistent identifier for this module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.RequiresAmdInstructionSet">
            <summary>
            If set, the module contains instructions or assumptions that are specific to the AMD 64 bit instruction set. Setting this flag to
            true also sets Requires64bits to true.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.Requires32bits">
            <summary>
            If set, the module contains instructions that assume a 32 bit instruction set. For example it may depend on an address being 32 bits.
            This may be true even if the module contains only IL instructions because of PlatformInvoke and COM interop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.Requires64bits">
            <summary>
            If set, the module contains instructions that assume a 64 bit instruction set. For example it may depend on an address being 64 bits.
            This may be true even if the module contains only IL instructions because of PlatformInvoke and COM interop.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.RequiresStartupStub">
            <summary>
            If set, the module must include a machine code stub that transfers control to the virtual execution system.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.SizeOfHeapCommit">
            <summary>
            The size of the virtual memory initially committed for the initial process heap.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.SizeOfHeapReserve">
            <summary>
            The size of the virtual memory to reserve for the initial process heap.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.SizeOfStackReserve">
            <summary>
            The size of the virtual memory to reserve for the initial thread's stack.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.SizeOfStackCommit">
            <summary>
            The size of the virtual memory initially committed for the initial thread's stack.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.StrongNameSigned">
            <summary>
            True if the module contains a hash of its contents, encrypted with the private key of an assembly strong name.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.TargetRuntimeVersion">
            <summary>
            Identifies the version of the CLR that is required to load this module or assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.TrackDebugData">
            <summary>
            True if the instructions in this module must be compiled in such a way that the debugging experience is not compromised.
            To set the value of this property, add an instance of System.Diagnostics.DebuggableAttribute to the MetadataAttributes list.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.UnitIdentity">
            <summary>
            The identity of the unit.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.UnitNamespaceRoot">
            <summary>
            A root namespace that contains nested namespaces as well as top level types and anything else that implements INamespaceMember.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.UnitReferences">
            <summary>
            A list of other units that are referenced by this unit. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.UsePublicKeyTokensForAssemblyReferences">
            <summary>
            True if the module will be persisted with a list of assembly references that include only tokens derived from the public keys
            of the referenced assemblies, rather than with references that include the full public keys of referenced assemblies as well
            as hashes over the contents of the referenced assemblies. Setting this property to true is appropriate during development.
            When building for deployment it is safer to set this property to false.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Module.Win32Resources">
            <summary>
            A list of named byte sequences persisted with the module and used during execution, typically via the Win32 API.
            A module will define Win32 resources rather than "managed" resources mainly to present metadata to legacy tools
            and not typically use the data in its own code.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assembly.#ctor(Microsoft.Cci.IName,System.String,Microsoft.Cci.IName,System.Collections.Generic.IEnumerable{Microsoft.Cci.IAssemblyReference},System.Collections.Generic.IEnumerable{Microsoft.Cci.IModuleReference},System.Collections.Generic.IEnumerable{Microsoft.Cci.IResourceReference},System.Collections.Generic.IEnumerable{Microsoft.Cci.IFileReference})">
            <summary>
            Allocates an object that represents a .NET assembly.
            </summary>
            <param name="name">The name of the unit.</param>
            <param name="location">An indication of the location where the unit is or will be stored. This need not be a file system path and may be empty. 
            The interpretation depends on the IMetadataHost instance used to resolve references to this unit.</param>
            <param name="moduleName">The name of the module containing the assembly manifest. This can be different from the name of the assembly itself.</param>
            <param name="assemblyReferences">A list of the assemblies that are referenced by this module.</param>
            <param name="moduleReferences">A list of the modules that are referenced by this module.</param>
            <param name="resources">A list of named byte sequences persisted with the assembly and used during execution, typically via .NET Framework helper classes.</param>
            <param name="files">
            A list of the files that constitute the assembly. These are not the source language files that may have been
            used to compile the assembly, but the files that contain constituent modules of a multi-module assembly as well
            as any external resources. It corresonds to the File table of the .NET assembly file format.
            </param>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assembly.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IAssembly).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assembly.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IAssemblyReference).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.Assembly.GetAssemblyAttributes">
            <summary>
            Returns a list of custom attributes that describes this type declaration member.
            Typically, these will be derived from this.SourceAttributes. However, some source attributes
            might instead be persisted as metadata bits and other custom attributes may be synthesized
            from information not provided in the form of source custom attributes.
            The list is not trimmed to size, since an override of this method may call the base method
            and then add more attributes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.Aliases">
            <summary>
            A list of aliases for the root namespace of the referenced assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.AssemblyAttributes">
            <summary>
            A list of objects representing persisted instances of types that extend System.Attribute. Provides an extensible way to associate metadata
            with this assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.AssemblyIdentity">
            <summary>
            The identity of the assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.ContainingAssembly">
            <summary>
            The assembly that contains this module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.Culture">
            <summary>
            Identifies the culture associated with the assembly. Typically specified for sattelite assemblies with localized resources.
            Empty if not specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.ExportedTypes">
            <summary>
            Public types defined in other modules making up this assembly and to which other assemblies may refer to via this assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.Files">
            <summary>
            A list of the files that constitute the assembly. These are not the source language files that may have been
            used to compile the assembly, but the files that contain constituent modules of a multi-module assembly as well
            as any external resources. It corresonds to the File table of the .NET assembly file format.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.Flags">
            <summary>
            A set of bits and bit ranges representing properties of the assembly. The value of <see cref="P:Microsoft.Cci.Ast.Assembly.Flags"/> can be set
            from source code via the AssemblyFlags assembly custom attribute. The interpretation of the property depends on the target platform.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.HashValue">
            <summary>
            The encrypted SHA1 hash of the persisted form of the referenced assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.IsRetargetable">
            <summary>
            True if the implementation of the referenced assembly used at runtime is not expected to match the version seen at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.Kind">
            <summary>
            The kind of metadata stored in the module. For example whether the module is an executable or a manifest resource file.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.MemberModules">
            <summary>
            A list of the modules that constitute the assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.ModuleIdentity">
            <summary>
            The identity of the module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.ModuleName">
            <summary>
            The name of the module containing the assembly manifest. This can be different from the name of the assembly itself.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.PublicKey">
            <summary>
            The public part of the key used to encrypt the SHA1 hash over the persisted form of this assembly . Empty if not specified.
            This value is used by the loader to decrypt HashValue which it then compares with a freshly computed hash value to verify the
            integrity of the assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.PublicKeyToken">
            <summary>
            The hashed 8 bytes of the public key called public key token of the referenced assembly. This is non empty of the referenced assembly is strongly signed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.Resources">
            <summary>
            A list of named byte sequences persisted with the assembly and used during execution, typically via .NET Framework helper classes.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.SecurityAttributes">
            <summary>
            A list of objects representing persisted instances of pairs of security actions and sets of security permissions.
            These apply by default to every method reachable from the module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.Assembly.Version">
            <summary>
            The version of the assembly.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResolvedAssemblyReference">
            <summary>
            A reference to a .NET assembly.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResolvedModuleReference">
            <summary>
            A reference to a .NET module.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Ast.ResolvedUnitReference">
            <summary>
            A reference to a instance of <see cref="T:Microsoft.Cci.IUnit"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedUnitReference.#ctor(Microsoft.Cci.IUnit)">
            <summary>
            Initializes a reference to a instance of <see cref="T:Microsoft.Cci.IUnit"/>.
            </summary>
            <param name="referencedUnit">The unit to reference.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedUnitReference.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IUnitReference).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedUnitReference.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls visitor.Visit(IUnitReference).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedUnitReference.Attributes">
            <summary>
            A collection of metadata custom attributes that are associated with this definition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedUnitReference.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this IReference instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedUnitReference.Name">
            <summary>
            The name of the unit.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedUnitReference.ResolvedUnit">
            <summary>
            The referenced unit.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedUnitReference.UnitIdentity">
            <summary>
            The identity of the unit reference.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedModuleReference.#ctor(Microsoft.Cci.IModule)">
            <summary>
            Allocates a reference to a .NET module.
            </summary>
            <param name="referencedModule">The module to reference.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedModuleReference.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IModuleReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedModuleReference.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IModuleReference) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedModuleReference.ContainingAssembly">
            <summary>
            The Assembly that contains this module. May be null if the module is not part of an assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedModuleReference.ModuleIdentity">
            <summary>
            Returns the identity of the module reference.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedModuleReference.ResolvedModule">
            <summary>
            The referenced module.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedModuleReference.UnitIdentity">
            <summary>
            The identity of the unit reference.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedAssemblyReference.#ctor(Microsoft.Cci.IAssembly)">
            <summary>
            Allocates a reference to a .NET assembly.
            </summary>
            <param name="referencedAssembly">The assembly to reference.</param>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedAssemblyReference.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IAssemblyReference) method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Ast.ResolvedAssemblyReference.DispatchAsReference(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(IAssemblyReference) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.Aliases">
            <summary>
            A list of aliases for the root namespace of the referenced assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.AssemblyIdentity">
            <summary>
            The identity of the assembly reference.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.Culture">
            <summary>
            Identifies the culture associated with the assembly reference. Typically specified for sattelite assemblies with localized resources.
            Empty if not specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.HashValue">
            <summary>
            The encrypted SHA1 hash of the persisted form of the referenced assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.IsRetargetable">
            <summary>
            True if the implementation of the referenced assembly used at runtime is not expected to match the version seen at compile time.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.PublicKey">
            <summary>
            The public part of the key used to encrypt the SHA1 hash over the persisted form of the referenced assembly. Empty if not specified.
            This value is used by the loader to decrypt an encrypted hash value stored in the assembly, which it then compares with a freshly computed hash value
            in order to verify the integrity of the assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.PublicKeyToken">
            <summary>
            The hashed 8 bytes of the public key called public key token of the referenced assembly. This is non empty of the referenced assembly is strongly signed.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.ResolvedAssembly">
            <summary>
            The referenced assembly.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.UnifiedAssemblyIdentity">
            <summary>
            Returns the identity of the assembly reference to which this assembly reference has been unified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.UnitIdentity">
            <summary>
            The identity of the unit reference.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Ast.ResolvedAssemblyReference.Version">
            <summary>
            The version of the assembly reference.
            </summary>
        </member>
    </members>
</doc>
